PDF versions when combining — 1.4, 1.7, 2.0
Every PDF declares its version near the top: a header line like %PDF-1.7, plus an optional version override in the catalog. Combining two PDFs of different versions raises a small but real question: what version does the result claim?
Why the version matters
The version is not a marketing label. It is a contract: any conforming reader supporting that version must be able to interpret every feature inside the file. Pick a version too low and a feature used in the body (transparency, object streams, AES-256) violates the contract; pick too high and you exclude readers that don't yet support it.
What each version actually added
- 1.3 (1999). The last "everything-works-everywhere" baseline. Still a safe target for legacy systems.
- 1.4 (2001). Transparency and blending modes (game-changer for design); JBIG2 compression for bitonal scans; the start of tagged PDF for accessibility.
- 1.5 (2003). Object streams (smaller file size by packing objects into compressed bundles); cross-reference streams replacing the plain-text xref table; XFA forms.
- 1.6 (2004). Embedded files; AES-128 encryption; 3D annotations.
- 1.7 (2006, ISO 32000-1 in 2008). Standardized everything 1.6 had; rich media; portable collections. Adobe Extension Level 3 (2008) added 256-bit AES; a weakness in the password-check algorithm was found later and fixed in Extension Level 8 (2011).
- 2.0 (2017, ISO 32000-2; revised 2020). UTF-8 strings throughout (previous versions used PDFDocEncoding or UTF-16BE); AES-256 cleanup; deprecates XFA; mandatory tagging for PDF/UA-2.
What version the output declares
The right rule for any merger is max(input_versions, version_required_by_used_features). If you combine a 1.4 PDF with a 1.7 PDF, the output should be at least 1.7 — using transparency, JBIG2, or anything else from either input remains valid. Going down (output as 1.4 to "be compatible") would invalidate any 1.5+ feature from the 1.7 input.
The merge tool used by CombinePDF picks an output version on its own; it typically writes a recent version (often 1.7) regardless of input versions. The converter doesn't perform version analysis or feature detection in our code, so the output's declared version is the merge tool's choice. Modern viewers handle PDF 1.7 and 2.0 transparently, so this is rarely visible.
Version overrides in the catalog
The header line is conventional. The authoritative version is the catalog's /Version entry if present, which can override the header. This was added in PDF 1.4 specifically so that incremental updates could bump the version without rewriting the header. A combine has to check both: parse the catalog override before parsing the header.
What this means for output size
When the output declares a modern version (1.5+), the merge tool may apply two compression features that older PDFs don't use:
- Object streams bundle multiple indirect objects into a single Flate-compressed stream. A typical PDF gains 10–20% on size.
- Cross-reference streams replace the plain-text xref table with a compressed binary index. Negligible for small files; meaningful (1–3%) for large ones.
Whether the merge tool actually uses these is its call. If you compare a combined output's size to the literal sum of input sizes, expect to see a savings of a few percent when inputs were old (1.4) and a similar or slightly larger output when both were already modern.
PDF/A and PDF/X — archival and print
These are constrained subsets of PDF for archival (PDF/A) and print production (PDF/X). They forbid certain features (encryption, JavaScript, external fonts) and require others (embedded ICC profiles, embedded fonts). Combining two PDF/A-compliant files does not automatically produce PDF/A output: the metadata claiming compliance is at the catalog level and the result needs validation.
PDF/A and PDF/X conformance are not preserved through this merge. The catalog-level metadata that declares conformance is dropped or invalidated by the operation. If you need an archival or print-production combine, validate and re-tag the output with veraPDF or a dedicated PDF/A or PDF/X tool.