All Classes
-
All Classes Interface Summary Class Summary Enum Summary Exception Summary Class Description AccessPermission This class represents the access permissions to a document.AnnotationMapper Maps one PDF annotation dictionary to and from itsXfdfAnnotationform (ISO 19444-1 §6.4), covering every markup annotation subtype XFDF has an element for: Text, Link, FreeText, Line, Square, Circle, Polygon, PolyLine, Highlight, Underline, Squiggly, StrikeOut, Stamp, Caret, Ink, Popup, FileAttachment, Sound and Redact.ASCII85DecodeFilter /ASCII85Decode: base-85 text encoding, terminated by~>.ASCIIHexDecodeFilter /ASCIIHexDecode: pairs of hex digits, terminated by>.BatikSvgCustomTag ByteRangeSigner CallbackIncrementalPdfSignerinvokes with exactly the bytes that must be cryptographically signed (the file's/ByteRange-selected ranges), once those ranges are known.CertificateUtils Loads the signing identity (private key + certificate chain) used byPdfSigner.sign(java.io.File, java.io.File, com.pd4ml.pdf.sign.CertificateUtils.SigningIdentity, com.pd4ml.pdf.sign.SigningOptions), from any of three sources: a PKCS#12 (.p12/.pfx) keystore file (the private key lives in this process, in the clear, for the duration of the JVM), a PKCS#11 token/HSM (the private key never leaves the token -- every RSA/EC operation is delegated to it via the JDK'sSunPKCS11security provider), or a remote key held by a cloud KMS (AWS KMS, Azure Key Vault, GCP Cloud KMS, ...) reached through a user-suppliedRemoteSigner-- seeCertificateUtils.forRemoteKey(java.security.cert.Certificate[], com.pd4ml.pdf.sign.RemoteSigner).CertificateUtils.SigningIdentity Holds the certificate chain to sign with, plus however this identity's private key operations actually get performed: an in-processPrivateKey(PKCS#12;CertificateUtils.SigningIdentity.getProvider()isnull, any JCA provider -- normally BouncyCastle -- may perform the RSA/EC operation), an opaquePrivateKeyhandle tied to one specificProvider(PKCS#11; that exact provider instance must perform the operation, since the key material never leaves the token), or no local key at all, only aRemoteSigner(cloud KMS).ColorUtil Converts between a PDF colour array (/C//IC: 0, 1, 3 or 4 numeric components -- ISO 32000-1 Table 164/170) and the"#RRGGBB"hex string XFDF'scolor/interior-colorattributes use.ConflictingParametersException Signals that conversion parameters were set that cannot be used together.Constants Constants of the PD4ML API: PDF permission flags,PD4ML.setParam(String, String)parameter keys,PD4ML.getLastRenderInfo(String)keys, output formats, encryption methods and error policies.Constants.ErrorPolicy How strictly problems found during a conversion are treated.ContentDeduplicator Finds indirect objects reachable from aCOSDocument's trailer that are byte-for-byte duplicates of another object -- most commonly the same font, image, or color space embedded twice under two different object numbers -- and rewrites every reference to a duplicate so it points at one surviving ("canonical") copy instead.COSArray A PDF array object.COSBase Base class for every object that can appear in the COS (Carousel Object Structure) layer of a PDF document: booleans, numbers, strings, names, arrays, dictionaries, streams, the null object and indirect references.COSBoolean A PDF boolean object:trueorfalse.CosCli Single command-line entry point forcom.pd4ml.pdf.cosalone -- the PDF COS object model, parser, and incremental-update writer -- with no dependency oncom.pd4ml.pdf.sign.COSDictionary A PDF dictionary object: an unordered (here: insertion-ordered, for deterministic output) map fromCOSNamekeys to arbitrary COS values.COSDocument The in-memory representation of a whole PDF file's COS layer: the table of indirect objects keyed byCOSObjectKey, and the trailer dictionary that names the document's root ("Catalog") and other special objects.COSDocumentWriter Serializes a wholeCOSDocumentbuilt up in memory (e.g.COSException Base checked exception for all errors originating from the COS object model, the low level PDF parser, or the COS path engine.COSFloat A PDF real number object, e.g.COSInteger A PDF integer object.COSLexer COSName A PDF name object, e.g.COSNull The PDFnullobject.COSNumber Base class for the two PDF numeric object types, integers and reals.COSObject An indirect reference, i.e.COSObjectable Implemented by higher level, typed wrappers around a raw COS node (analogous to PDModel-style classes layered on top of PDFBox's COS layer).COSObjectImporter Deep-clones a value (and everything it transitively references) from a sourceCOSDocumentinto a target one, allocating fresh indirect object numbers.COSObjectKey The identity of an indirect PDF object: its object number and generation number, e.g.COSParseException A syntax or structural error encountered while lexing/parsing PDF COS syntax, tagged with the byte offset it occurred at to aid debugging of malformed files.COSParser A low level, recursive-descent parser that turns the raw bytes of a PDF file into a populatedCOSDocument: every indirect object, the cross-reference table (classic tables, cross-reference streams, hybrid files, incremental updates via/Prev, and compressed objects held in object streams), and the trailer.COSPath A parsed COS path: a starting point (the document trailer, or an explicit indirect object) plus a list of navigation steps.COSPath.RootKind Where a path's navigation starts.COSPathEvaluator Resolves aCOSPathagainst aCOSDocument(or an arbitrary startingCOSBasenode), auto-dereferencing indirect references at every step so callers never see a bareCOSObject.COSPathException Raised for a malformed COS path expression, or (only from the*Strictevaluator methods) when a path cannot be resolved against a particular document -- an intermediate step lands on a node of the wrong kind, a dictionary key is missing, or an array index is out of range.COSPathParser COSPathSegment One navigation step of aCOSPath: descend into a dictionary by key, into an array by index, or jump directly to an arbitrary indirect object.COSPathSegment.Kind The three kinds of step a COS path can take.COSSecurityException Raised when a PDF's encryption dictionary names a security handler this API doesn't implement (anything other than the Standard security handler), or when the supplied password is wrong (neither the user nor the owner password could be authenticated).COSStream A PDF stream object: aCOSDictionary(the "stream dictionary") together with a run of raw bytes.COSString A PDF string object.COSWriteException ACOSExceptionspecific to writing/updating a PDF file's COS layer -- e.g.COSWriter A from-scratch PDF-syntax serializer for the pd4ml COS object model (which, being a reader, shipsICOSVisitoras an extension point for exactly this purpose but no implementation of its own -- see the project's README).CryptographyException An exception that indicates that something has gone wrong during a cryptography operation.CustomTag Base class for handlers of custom HTML tags, which render content PD4ML does not support natively, for example charts or barcodes.DecryptionMaterial This class represents data required to decrypt PDF documents.Dimensions Unit conversion factors and measurement units used byPageSizeandPageMargins.Dimensions.Units Measurement units forPageSizeandPageMarginsvalues.FieldMapper Maps the/Root/AcroForm/Fieldstree to and from XFDF's flat<fields>list (ISO 19444-1 §6.3).FieldMapper.ApplyResult FieldMapper.applyFields(com.pd4ml.pdf.cos.COSDocument, java.util.List<com.pd4ml.pdf.xfdf.XfdfField>, com.pd4ml.pdf.xfdf.internal.SelectionFilter)'s outcome: how many fields were actually updated, and which requested names had no match.Filter A single PDF stream filter (the algorithms named by/Filterentries, e.g.FilterFactory Resolves a/Filtername to itsFilterimplementation.FlagsUtil Converts between a PDF annotation's/Fflags integer (ISO 32000-1 Table 165) and XFDF'sflagsattribute, a comma-separated list of the flag names that are set (e.g.FlateDecodeFilter /FlateDecode: standard zlib/deflate compression (RFC 1950), by far the most common PDF stream filter.ForcedTerminationException Thrown on the conversion thread when the conversion has been cancelled withPD4ML.terminate().HelveticaMetrics Character advance widths (per 1000 text-space units, i.e.ICOSVisitor<T> Visitor over the COS object graph, e.g.IncrementalPdfSigner Applies a PDF digital signature as a raw incremental update, on top ofIncrementalUpdateWriter(the generic COS incremental-update mechanics -- object offsets, xref, trailer) fromcom.pd4ml.pdf.cos.writer.IncrementalUpdateWriter Appends a PDF incremental update (ISO 32000-1 §7.5.6) over an existing file's bytes: new and/or rewritten indirect objects, a classic cross-reference table covering just those objects, and a trailer whose/Prevchains back to the base file's own cross-reference section.IncrementalUpdateWriter.CustomBodyWriter Callback forIncrementalUpdateWriter.writeObjectCustom(com.pd4ml.pdf.cos.COSObjectKey, com.pd4ml.pdf.cos.writer.IncrementalUpdateWriter.CustomBodyWriter): writes exactly one object's body (no header/endobj -- those are handled for you).InvalidPasswordException Thrown when an encrypted PDF document cannot be opened because the password given to thePdfDocumentconstructor is missing or wrong.InvalidPasswordException Indicates that an invalid password was supplied.InvokeException Thrown when the PD4ML API is used incorrectly: an invalid argument, or a method called at the wrong time (for example a configuration method afterreadHTML(...), or awrite...method before it).LtvOptions Configuration forRevocationFetcher.fetch(java.security.cert.Certificate[], com.pd4ml.pdf.sign.ltv.LtvOptions): which revocation sources to try, in what order, and how patient to be with each.LtvUpdater Adds PAdES-LT ("Long Term Validation") information to an already-signed PDF: a/DSS(Document Security Store) dictionary at/Root/DSSholding the OCSP responses, CRLs and certificates needed to validate one or more signatures long after their signing certificates -- or even the TSA's -- may have expired or been revoked, plus a/VRI(Validation Related Information) entry keyed by the hex-uppercase SHA-1 of the target signature's exact/Contentsbytes (ETSI TS 102 778-4 / ISO 32000-2 §12.8.4.3).Main Command-line demonstration of the COS API: parses a PDF file (path given as the first argument), prints a short structural summary, then evaluates every COS path expression given as subsequent arguments.MathMLCustomTag NumberTreeUtil Looks up a value in a PDF "number tree" (/Numsleaf array of[key1, value1, key2, value2, ...]pairs, optionally split across/Kidswith/Limitsranges for large trees) -- the structure used by/StructTreeRoot/ParentTree,/PageLabelsand a handful of other PDF constructs.ORCodeCustomTag OutlineMerger Splices each merge source's own outline (bookmark) tree (/Root/Outlines, ISO 32000-1 12.3.3) onto the end of the merged target's, in the same orderPdfMergerprocesses sources -- mirroring legacycom.pd4ml.pdf.parser.PdfDoc#mergeOutlines's own append-order splice (link the accumulated tree's last top-level node's/Nextto the new source's first, re-parent the new source's top-level siblings, sum/Count).OutlineTree Reads and prunes a document's outline (bookmark) tree (/Root/Outlines, ISO 32000-1 12.3.3) via its/First//Nextsibling chain (each node's own children, if any, live under its own/First//Nextchain one level down).PageAttributes Walks a page dictionary's/Parentchain for an "inheritable" page attribute --/MediaBox,/CropBox,/Resources(ISO 32000-1 7.7.3.4, Table 30) -- that the page itself doesn't declare.PageMargins Page margins: the distances between the page edges and the page content area, in points (1/72 inch).PageSize A page size in points (1/72 inch), with constants for the common ISO, JIS, North American and architectural paper formats.PageTree Walks a parsed document's page tree (/Root/Pages/Kids/...), resolving indirect references at every step.Pd4Cmd Pd4Cmd.Base64 Encodes and decodes to and from Base64 notation.Pd4CmdException Pd4MergeCli Command-line entry point forcom.pd4ml.pdf.merge: combine page ranges from one or more PDFs (each with its own optional password) into one output file, optionally encrypting it.PD4ML The main entry point of PD4ML: converts HTML/CSS documents to PDF, PDF/A, PDF/UA, RTF, DOCX or page images.PD4MLSvgCustomTag Pd4OptimizeCli Command-line entry point forcom.pd4ml.pdf.optimizer: drop objects no longer reachable from a PDF's/Root//Info(typically left behind by an earlier incremental update) and collapse its cross-reference/trailer history into one fresh table.Pd4XfdfCli Command-line entry point forcom.pd4ml.pdf.xfdf: export a PDF's annotations/form field values to an XFDF file, or import an XFDF file's annotations/form field values into a PDF.PDCryptFilterDictionary This class is a specialized view of the crypt filter dictionary of a PDF document.PDEncryption This class is a specialized view of the encryption dictionary of a PDF document.PdfConformance Detects a source document's own self-declared PDF/A or PDF/UA conformance (thepdfaid/pdfuaididentification schema in its XMP/Metadata, ISO 19005 / ISO 14289), and builds the equivalent XMP for a merged output whose sources all agree.PdfConformance.Level One conformance identification:partis always present;conformance/revisionmay benull(PDF/UA has neither).PdfDates Formats aCalendaras a PDF date string (D:YYYYMMDDHHmmSSOHH'mm', ISO 32000-1 7.9.4) -- the format used for/Info'sCreationDate/ModDateentries.PdfDocument An existing PDF document, for post-processing: reading and changing document properties, appending another document, putting the pages of another document over or under its pages, deleting pages, and saving it, optionally encrypted.PdfDocumentBase The base class ofPdfDocument: an existing PDF document that can be inspected, changed and saved.PdfEncryptor Encrypts an in-memoryCOSDocumentfor output, using the PDF Standard security handler -- the write-side counterpart ofStandardSecurityHandler(a reader, which deliberately doesn't expose a forward/encrypting direction).PdfEncryptor.Algorithm PdfEncryptor.Options PdfMergeException Checked exception wrapping any failure that occurs while loading a source PDF, selecting its pages, or assembling/writing the merged document.PdfMerger Public entry point of the PD4ML PDF merge API.PdfMergeSource One source PDF added to aPdfMerger, and the page range selected from it.PdfOptimizeException Checked exception wrapping any failure that occurs while loading, garbage collecting, or rewriting a PDF viaPdfOptimizer.PdfOptimizer Cleans a PDF down to exactly what's actually reachable, and collapses its cross-reference/trailer history into one fresh table -- built entirely on the pd4mlcom.pd4ml.pdf.cosobject model/parser (no PDFBox, no other PDF library), the same foundationcom.pd4ml.pdf.signandcom.pd4ml.pdf.mergeare built on.PdfOptimizer.Options PdfOptimizeResult Outcome of aPdfOptimizer.optimize(byte[])call: the rewritten PDF bytes plus before/after size and object-count stats, so a caller can tell how much (if anything) was actually cleaned up without re-parsing either file.PdfOverlay Composites selected pages of one document (srcDoc) onto selected pages of another (destDoc) -- the engine behindcom.pd4ml.pdf.PdfDocumentBase#overlay/#underlay.PdfOverlayException Checked exception wrapping any failure that occurs while compositing an overlay/underlay onto a destination document.PdfSignCli Single command-line entry point for the whole pdfsign-api project: COS inspection/path queries (thecom.pd4ml.pdf.cosreader), listing signature fields, applying a digital signature (PKCS#12, PKCS#11/HSM, or any invisible/visible/DocMDP-certifying/timestamped combination thereof), and adding PAdES-LT (LTV) validation information to an already-signed PDF.PdfSigner Public entry point of the PD4ML PDF signing API.PdfSigningException Checked exception wrapping any failure that occurs while loading key material or applying a digital signature to a PDF document.PdfSpec A PDF output specification: a PDF version, optionally combined with conformance to PDF/A (archiving), PDF/UA (accessibility) or an e-invoice format.PdfSpec.PdfSpecUnsupportedException Thrown when a requested PDF version or standard is not supported.PdfSpec.PdfSpecViolationException Thrown when standards are combined in a way the specifications do not allow.ProgressListener Receives progress notifications during a conversion, for example to update a progress bar or to log timing information.ProtectionPolicy This class represents the protection policy to apply to a document.PublicKeyDecryptionMaterial This class holds necessary information to decrypt a PDF document protected by the public key security handler.PublicKeyProtectionPolicy The protection policy to use to protect a document with the public key security handler.PublicKeyRecipient Represents a recipient in the public key protection policy.PublicKeySecurityHandler This class implements the public key security handler described in the PDF specification.RandomAccessBuffer Minimal seekable byte source over an in-memory PDF file.RemoteSigner The cloud-KMS signing seam: implement this against whichever key management service holds your signing key -- AWS KMS, Azure Key Vault, GCP Cloud KMS, a corporate signing service, anything reachable over the network -- and hand the result toCertificateUtils.forRemoteKey(java.security.cert.Certificate[], com.pd4ml.pdf.sign.RemoteSigner).ResourceProvider Base class for custom resource loaders, which let PD4ML load documents, images, stylesheets and other resources from sources it does not support natively: a proprietary protocol, a database, an encrypted store and so on.RevocationFetcher Fetches OCSP responses and CRLs for a certificate chain, over plain HTTP, using only the certificates' own Authority Information Access / CRL Distribution Points extensions to find where to ask -- no extra configuration needed for the common case.RevocationFetcher.Result Everything fetched for oneRevocationFetcher.fetch(java.security.cert.Certificate[], com.pd4ml.pdf.sign.ltv.LtvOptions)call, ready to embed viaLtvUpdater.SecurityHandler<T_POLICY extends ProtectionPolicy> A security handler as described in the PDF specifications.SecurityHandlerFactory Manages security handlers for the application.SecurityProvider Singleton which provides a security provider.SelectionFilter The optional "which annotations/fields" narrowing bothXfdfExporterandXfdfImporteraccept: a type filter and an ID filter, either or both of which may be unset (meaning "no restriction" for that one).SigningOptions Configuration for a singlePdfSigner.sign(java.io.File, java.io.File, com.pd4ml.pdf.sign.CertificateUtils.SigningIdentity, com.pd4ml.pdf.sign.SigningOptions)call: which key to sign with, the metadata written into the signature dictionary, and (optionally) where to place a visible signature widget or which TSA to timestamp against.SigningOptions.CertificationLevel Mirrors PDF's /DocMDP transform: how much further editing is permitted after this signature.SigningOptions.DigestAlgorithm SignResult Result of oneIncrementalPdfSigner.sign(com.pd4ml.pdf.sign.pdf.ByteRangeSigner)call: the signed PDF, and the raw CMS/PKCS#7 signature bytes that were embedded in it (i.e.StandardDecryptionMaterial Represents the necessary information to decrypt a document protected by the standard security handler (password protection).StandardProtectionPolicy The protection policy to add to a document for password-based protection.StandardSecurityHandler Implements the PDF Standard security handler (ISO 32000-1 §7.6.3 / ISO 32000-2 §7.6.4): given a document's/Encryptdictionary, its first/IDelement, and a candidate password, derives the file encryption key and can then decrypt any string or stream belonging to an indirect object in that document.StandardSecurityHandler The standard security handler.StatusMessage A warning or error recorded during a conversion, for example that a font could not be embedded in PDF/A output, or that the license does not cover the requested output format.StructureTreeMerger Reconciles the accessibility structure tree (/StructTreeRoot/StructElem/ParentTree//StructParents) across the pages pulled in from one or more source documents, building a single merged tree in the target document.StructureTreeUpdater Wires a brand-new PDF annotation -- oneXfdfImporterjust added from an<annots>entry, not one it merely updated in place -- into an already-tagged target document's accessibility structure tree (/StructTreeRoot), so the imported annotation doesn't silently fall outside it.Token A single lexical token: its type, source offset, and payload.TokenType The lexical categories produced byCOSLexer.UnreachableObjectSweeper Drops objects from a merge's in-progress targetCOSDocumentthat turn out unreachable from its trailer's/Root(and/Info//Encrypt, if present) once all cloning is done.VisibleSignatureOptions Optional configuration for rendering a visible signature widget on a page.XfdfAnnotation One<annots>entry (or a nested<popup>) -- a plain, generic bag of the XFDF attributes and child elements defined across every markup annotation type in ISO 19444-1 §6.4, rather than a separate Java class per PDF annotation subtype.XfdfDocument The parsed/in-memory form of one XFDF document (ISO 19444-1): the flat list of resolvedXfdfFields from<fields>(seeXfdfField.getQualifiedName()for how a nested<field>hierarchy collapses into this list), and the top-levelXfdfAnnotations from<annots>(each already carrying its own nested<popup>, if it has one, rather than that popup also appearing separately in this list).XfdfException Checked exception wrapping any failure that occurs while parsing an XFDF document, loading the PDF it targets, or applying/extracting annotation and form field data between the two.XfdfExporter Exports a PDF's markup annotations and AcroForm field values to an XFDF document (ISO 19444-1) -- built entirely on the pd4mlcom.pd4ml.pdf.cosobject model/parser (no PDFBox, no other PDF library), the same foundationcom.pd4ml.pdf.sign,com.pd4ml.pdf.mergeandcom.pd4ml.pdf.optimizerare built on.XfdfExporter.Options Export-time settings: the input password, and an optional type/ID subset to export.XfdfField One<field>entry under<fields>(ISO 19444-1 §6.3): a form field's fully-qualified name and its current value(s).XfdfImporter Imports an XFDF document's (ISO 19444-1) annotations and form field values into a PDF -- built entirely on the pd4mlcom.pd4ml.pdf.cosobject model/parser (no PDFBox, no other PDF library), the same foundationcom.pd4ml.pdf.sign,com.pd4ml.pdf.mergeandcom.pd4ml.pdf.optimizerare built on.XfdfImporter.Options XfdfImporter.Result The imported PDF, plus bookkeeping on what the import actually did.XfdfReader Parses an XFDF document (ISO 19444-1) into anXfdfDocument.XfdfWriter Serializes anXfdfDocumentto XFDF XML bytes (ISO 19444-1), hand-rolled the same waycom.pd4ml.pdf.merge.internal.PdfConformancebuilds its XMP packets, rather than pulling in a DOM/serializer dependency for what is, structurally, a very small and fixed document shape.