8
Views
2
Comments
[PDF Helper] Joining / Merging PDF's not preserving bookmarks
pdf-helper
Service icon
Forge asset by Pramod Jain
Application Type
Service

I am currently using the PDF Helper Forge asset to merge PDF's within my application by utilising the 'JoinPDF' Service Action, This works great however I've noticed that we appear to be losing the bookmarks within the final merged PDF.

Is this a known limitation of the extension?

If so, is there any known work arounds or best practices for merging PDF's and retaining the meta data such as bookmarks?


2024-10-09 04-44-30
Bhanu Pratap

The PDF Helper Forge component relies on iTextSharp internally. While its JoinPDF action successfully merges PDF files, it does not retain bookmarks or outlines from the source documents. This behavior is a known limitation of the extension’s basic merge implementation.

You might consider reaching out to the team via their Forge page by leaving a comment - they may be able to provide guidance or confirm whether this limitation can be addressed.

2026-03-20 01-28-51
Saugat Biswas

Hi @David Dow,

This is a well‑known limitation of the PDF Helper / JoinPDF approach used in OutSystems Forge components. 

Most Forge‑provided PDF helpers are optimized for: 

  • Simple merging 
  • Performance 
  • Low dependency footprint 

not for advanced PDF structure preservation

The PDF Helper Forge component is implemented using a basic PDF merge strategy that:

  • Concatenates PDF pages sequentially 
  • Does not merge PDF outline trees (bookmarks) 
  • Drops document‑level metadata such as: 
    • Bookmarks / outlines 
    • Named destinations 
    • Some document properties 
    • Complex navigation structures

Solution:

Use a PDF library that explicitly supports outline merging, such as: 

  • iText / iText7 
  • PDFBox (advanced usage) 
  • Aspose.PDF 
  • Syncfusion PDF 

These can: 

  • Merge PDFs and 
  • Merge or rebuild bookmarks correctly 

How to integrate in OutSystems

  • Create a .NET Extension (O11) or
  • Call an external microservice / API (O11 or ODC)

Hope this helps.

Cheers,

Saugat

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.