v3.2.0
3.2.0

Version 3.2.0

2026-10-08

New Features

1. PAdES Signing and Long-Term Validation

・Add PKCS#12 signing workflows targeting PAdES B, T, LT, and LTA profiles.

・Add RFC 3161 signature timestamps and document timestamps through a TSA.

・Collect certificates, OCSP responses, and CRLs into PDF DSS/VRI structures.

・Refresh LTV evidence in existing signed PDFs through incremental updates, with an option to append a document timestamp.

・Inspect embedded LTV materials, missing evidence, and DSS/VRI counts.

・Add a TSA URL overload of CPDFDocument.writeSignature() for existing fields.

・APIs: CPDFPadesSigner, CPDFPadesOptions, CPDFPadesResult, CPDFLtvService.

2. Structured Signature Validation

・Validate signatures from saved PDFs or exact PDF bytes and return detailed per-signature reports.

・Check signature integrity, signed-byte coverage, document permissions, certificate chains, timestamps, and embedded revocation evidence.

・Configure trust certificates, validation time, and a signature-field filter.

・Inspect timestamp sources and structured error and warning codes.

・APIs: CPDFSignatureValidator, CPDFSignatureValidationOptions, CPDFSignatureValidationResult, CPDFSignatureValidationReport.

3. AWS KMS Signing

・Create detached PDF signatures using a key held in AWS KMS.

・Retrieve the KMS public key and generate a PKCS#10 certificate signing request (CSR) without exporting the private key.

・Check that the supplied signing certificate matches the KMS public key.

・Return signature creation results and separate post-signing validation.

・APIs: CPDFAwsKmsSigner, CPDFAwsKmsConfig, CPDFKmsDataResult.

4. External CMS/PKCS#7 Container Signing

・Integrate signing services through a synchronous Java provider callback.

・Supply the PDF ByteRange SHA-256 digest to the provider and embed its complete detached CMS/PKCS#7 SignedData DER response into the PDF.

・Validate container structure and reserved size, report provider failures, and optionally validate the completed signature.

・APIs: CPDFExternalSignatureSigner.signWithContainer(), CPDFSignatureContainerProvider, CPDFSignatureContainerRequest, CPDFSignatureContainerResult.

5. Two-Phase External Signing

・Prepare a PDF signature field, reserve its Contents placeholder, and return the digest to sign together with a portable Core Session.

・Fill either a complete detached CMS/PKCS#7 container or a raw signature value, with file and in-memory input/output overloads.

・Support document-digest and signed-attributes modes with SHA-256, SHA-384, and SHA-512.

・Save and load the Session so preparation and completion can run in different JVMs or on different machines without retaining native handles.

・Preserve prepared inputs for retry and report capacity, payload, and post-fill validation errors separately.

・APIs: CPDFExternalSignSession, CPDFExternalSignPrepareOptions/Result, CPDFExternalSignFillOptions/Result, CPDFSignatureDigest.

6. RFC 3161 Timestamp Services

・Request a timestamp token for original data or a precomputed digest.

・Return the DER token, TSA generation time, and request diagnostics.

・Append an independent ETSI.RFC3161 document timestamp to a saved PDF, including an externally signed PDF, without the user's signing private key.

・Configure the TSA URL, request policy, nonce, certificate inclusion, timeout, retries, proxy, and maximum response size.

・Retain existing PKCS#12/PAdES embedded signature timestamp workflows.

・APIs: CPDFTimestampService, CPDFTimestampOptions, CPDFTimestampResult.

7. Invisible Digital Signatures

・Add a SignatureTest example that creates an invisible signature by setting the signature widget rectangle to [0, 0, 0, 0].

・Sign through the existing writeSignature() API without a visible appearance, then reopen the PDF to verify integrity and document permissions.

・APIs: CPDFSignatureWidget.setRect(), CPDFDocument.writeSignature().

8. Online License Verification

・Add an initialization option for online license verification, alongside the existing offline license flow.

・Add error handling for online activation and verification failures.

・Update cyan to improve cached-license refresh, request cancellation, and background verification cleanup during shutdown.

・API: CPDFLibrary.initialize(license, deviceId, applicationId, enableOnlineVerify).

9. Export All Form Widgets

・Add a convenience overload to export all custom form widgets to XFDF without supplying a field-name list.

・API: CPDFDocument.exportCustomWidgets(exportFilePath, tmpCachePath).

10. API Adjustments

・CPDFDocument.copyPage() and addPage() have been removed. Use importPages() instead. To copy pages within the same saved PDF, open it as a second CPDFDocument and import the required pages from that document.

・Direct AWS KMS PDF signing supports RSA keys of at least 2048 bits with RSASSA_PKCS1_V1_5_SHA_256. Session tokens, RSA-PSS, and ECDSA are not supported by the current KMS binding; CPDFAwsKmsSigner.signPades() is not supported.

・Direct KMS signing creates an ordinary detached signature. The external container and two-phase entry points use adbe.pkcs7.detached and do not automatically collect LTV evidence or inject an embedded timestamp. A service may supply its own timestamped CMS container; an independent document timestamp can be appended after signing. These steps do not, by themselves, establish PAdES LT/LTA.

・Raw two-phase RSA signature values use PKCS#1 v1.5 over the prepared digest; RSA-PSS parameters are not represented by this interface. Do not hash the supplied digest again or sign its Base64 text. Persist the prepared PDF, complete Session, and digest as one transaction, and do not mix preparations.

・Independent document timestamps currently use SHA-256. TSA data/digest token requests support SHA-256, SHA-384, and SHA-512. A successful token request does not, by itself, establish TSA certificate trust.

・Online license support is compiled into the Linux package. Enable it at runtime with initialize(..., true); the three-argument initialize() overload continues to use offline verification by default.

・Java bytecode compatibility remains Java 8. Native binaries and dependencies must match the target platform and architecture.

・Signature creation success, material-readiness results, and LT/LTA profile helpers are not sufficient on their own to establish signature validity. Inspect the detailed integrity, timestamp, certificate-chain, and revocation results before accepting output. Enable revocation checking for LTV validation.

・LTV prolongation does not repair an invalid existing signature or add a missing embedded signature timestamp. The new file-based signing entry points require distinct, previously unused output paths and do not accept a PDF-open password.

・Memory signing does not reserialize the PDF for validation. The verifier uses an anonymous memory file on Linux when available, or a private temporary byte-for-byte copy removed after validation.

・PDF/E-1 conversion remains an existing limitation in the provided conversion sample; successful process completion is not a standards-conformance verdict.

 

Issues Addressed

・Update the PDF Core and PDFium libraries and associated native interfaces.

・Improve native resource cleanup for pages, annotations, form widgets, signatures, and document comparison objects.

・Add close() methods to CPDFCompare and CPDFCompareDrawings, and reuse the generated comparison document wrapper to avoid duplicate ownership.

・Improve document-owned object caching and release resources when documents close or signatures are removed.

・Add LTV/KMS, external-container, two-phase signing, and timestamp examples, with local test services and post-signing validation.

・Add fixed-configuration examples for delayed Prepare/Fill completion, persisted Session recovery, and invisible signatures.

・Update Linux native dependency integration for the merged Core and cyan, including qpdf, HarfBuzz, JPEG, and zlib static libraries.

・Refresh the English API Reference and both developer guides, including navigable PDF contents and bookmarks.

・Expand examples for redaction, text extraction, form properties, actions, fonts, and page organization; update API documentation and sample layout.

・Restore CPDFFont native method registration so font APIs can be called.

・Fix native page-handle conversion in indexOfPage().

・Return an empty string for pages without labels instead of throwing an exception when getPageLabel() is called.

・Correct form-field read-only flag updates and handle missing fonts when reading text properties without aborting the application.

・Remove trailing NUL characters from button titles and fix invalid temporary string access in form-field names, stamp names, and signature metadata.

・Implement CPDFOutline.setAction() and preserve an action's type when setting its destination.

・Treat pages with no annotations or form fields as successful no-op cases when flattening, including flattenAllPages().

・Fix a native crash when flattening Form XObjects with empty clipping paths by checking clipping-path references before accessing their path counts.

・Use a seekable backing source for exact-byte memory signature validation to avoid the Core FileAccess integrity-verification limitation.

・Correct image-export path handling when the destination directory does not include a trailing slash.

・Improve cleanup and exception handling when external signature providers return invalid results or fail during signing.

Contact us
3.0.0

Version 3.0.0

2026-08-13

New Features

1. Add QR code feature

Contact us
2.0.0

Version 2.0.0

2024-08-30

New Features

1. PDF to JSON adds version 2, 11 new recognition tags.

・Text: Ordinary text type object, including text content.

・Text: Ordinary text type object, including text content.

・Image: Image type object, including the path of the image.

・Table and UnstdTable Table type object, including the content and structure of the table.

・Catalogue Catalogue type object, including the content of the catalogue.

・List and UnorderedList List type object, including the content of the list.

・Formula Formula type object, including the content of the formula.

・Header Header type object, including the content of the header.

・Footer Footer type object, including the content of the footer.

・PageNumber Page number type object, including the content of the page number.

・FigureTitle Figure title type object, including the content of the figure title.

・FigureCaption Figure caption type object, including the content of the figure caption.

2. PDF to TXT adds version 2, supports text style retention.

3. DocumentAI layout analysis adds 11 new recognition tags, refer to the above PDF to JSON new tags.

4. DocumentAI supports GPU operation.

Contact us
1.5.0

Version 1.5.0

2024-06-25

New Features

・Create Signature Field.

・Create, add, certify, and delete digital signatures.

・Create, certify, and export certificates.

・Retrieve certificate information, certificate chain, timestamp certificates, signature information, signature list, signature field information, and signers.

Contact us
1.4.0

Version 1.4.0

2024-06-04

New Features

・Added support for redaction, allowing for the permanent deletion of sensitive information or private data within PDF files.

・Support two modes in redaction: PDF text markup and arbitrary area markup, with the ability to add and delete redacted areas, and permanently delete the data within those areas of the PDF document.

・Support for customizing the color of the ciphertext frame border. Users can add, delete, or modify the fill color displayed in a specified area before applying ciphertext. The system supports removing the border color used by the framed ciphertext that is in a marked state.

・Support for annotating redactions with text, adjusting the font, size, and alignment of the ciphertext text, etc.

Contact us
1.3.0

Version 1.3.0

2024-03-11

New Features

・Added the functions of annotation reply, annotation state setting, annotation reply modification, and annotation reply deletion.

Contact us
1.2.0

Version 1.2.0

2024-02-02

New Features

・A new method of verifying licenses is now available: Deprecated "CPDFKit.setLicenseKey:secret:" in favor of the new "CPDFKit.verifyWithKey:".

Contact us
1.1.0

Version 1.1.0

2023-10-12

New Features

・Added watermark functionality, allowing users to add text or image watermarks to documents.

・Supports both text and image watermarks.

・Users can specify watermark content, color, opacity, size, and position.

・API interfaces and sample code provided for easy integration of watermarking functionality into their applications.

Contact us
1.0.0

Version 1.0.0

2023-09-18

This is the first release of ComPDF SDK for Java, it is a new Rapid Development Kit for iOS/Android/Windows/Web/Linux platforms which focuses on helping developers rapidly integrate powerful ComPDF PDF technology into their own apps. With ComPDF, even developers with limited knowledge of PDF can quickly realize a PDF Viewer with just a few lines of code.
 
Now, ComPDF SDK for Java can provide the following features:

Annotations
・Create, edit, and remove annotations, including Note, Link, Free Text, Line, Square, Circle, Highlight, Underline, Squiggly, Strikeout, Stamp, Ink.
・Support for annotation appearances.
・Import and export annotations to/from XFDF.
・Support for annotation flattening.
・Predefine annotations.

Forms
・Create, edit, and remove form fields, including Push Button, Check Box, Radio Button, Text Field, Combo Box, List Box.
・Fill PDF Forms.
・Support for PDF form flattening.

Document Editor
・PDF manipulation, including Split pages, Extract pages, and Merge pages.
・Page edit, including Delete pages, Insert pages, Crop pages, Move pages, Rotate pages, Replace pages, and Exchange pages.
・Document information setting.

Contact us

Get In Touch

Email

Sales

Support

Ready to Get Started?

Adding our 30-day trial into your app is a breeze. Contact ComPDF now and enhance your app with a top-notch PDF experience in minutes!
Get Started