Package com.pdftools.pdfa.conversion
Class Converter
- java.lang.Object
-
- com.pdftools.internal.NativeBase
-
- com.pdftools.internal.NativeObject
-
- com.pdftools.pdfa.conversion.Converter
-
public class Converter extends NativeObject
The class to convert PDF documents to PDF/A
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classConverter.ConversionEventThe event for errors, warnings, and informational messages that occur during conversionstatic interfaceConverter.ConversionEventListenerListener interface for theConverter.ConversionEventevent.
-
Constructor Summary
Constructors Constructor Description Converter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddConversionEventListener(Converter.ConversionEventListener listener)Add a listener for theConverter.ConversionEventevent.voidaddInvoiceXml(InvoiceType invoiceType, Stream invoice)Prepares the invoice XML file (ZUGFeRD or Factur-X) for embedding.voidaddInvoiceXml(InvoiceType invoiceType, Stream invoice, AFRelationship afRelationship)Prepares the invoice XML file (ZUGFeRD or Factur-X) for embedding.Documentconvert(AnalysisResult analysis, Document document, Stream outStream)Convert a document to PDF/A.Documentconvert(AnalysisResult analysis, Document document, Stream outStream, ConversionOptions options)Convert a document to PDF/A.Documentconvert(AnalysisResult analysis, Document document, Stream outStream, ConversionOptions options, OutputOptions outOptions)Convert a document to PDF/A.voidremoveConversionEventListener(Converter.ConversionEventListener listener)Remove registered listener for theConverter.ConversionEventevent.-
Methods inherited from class com.pdftools.internal.NativeObject
equals, hashCode
-
-
-
-
Method Detail
-
addConversionEventListener
public void addConversionEventListener(Converter.ConversionEventListener listener)
Add a listener for theConverter.ConversionEventevent.- Parameters:
listener- Listener for theConverter.ConversionEventevent. If a listener is added that is already registered, it is ignored.
-
removeConversionEventListener
public void removeConversionEventListener(Converter.ConversionEventListener listener)
Remove registered listener for theConverter.ConversionEventevent.- Parameters:
listener- Listener for theConverter.ConversionEventevent that should be removed. If the listener is not registered, it is ignored.
-
addInvoiceXml
public void addInvoiceXml(InvoiceType invoiceType, Stream invoice)
Prepares the invoice XML file (ZUGFeRD or Factur-X) for embedding.
Note: This requires the compliance to be set to PDF/A-3.- Parameters:
invoiceType- The type of invoice.invoice- The XML invoice stream.- Throws:
java.lang.IllegalArgumentException- The invoice stream could not be opened for reading.java.lang.IllegalArgumentException- ifinvoiceTypeisnulljava.lang.IllegalArgumentException- ifinvoiceisnull
-
addInvoiceXml
public void addInvoiceXml(InvoiceType invoiceType, Stream invoice, AFRelationship afRelationship)
Prepares the invoice XML file (ZUGFeRD or Factur-X) for embedding.
Note: This requires the compliance to be set to PDF/A-3.- Parameters:
invoiceType- The type of invoice.invoice- The XML invoice stream.afRelationship- If no value is provided, a sensible default value is chosen based on the invoice type and version.- Throws:
java.lang.IllegalArgumentException- The invoice stream could not be opened for reading.java.lang.IllegalArgumentException- ifinvoiceTypeisnulljava.lang.IllegalArgumentException- ifinvoiceisnull
-
convert
public Document convert(AnalysisResult analysis, Document document, Stream outStream) throws java.io.IOException, NotFoundException, GenericException, LicenseException, CorruptException, ConformanceException, UnsupportedFeatureException, ProcessingException
Convert a document to PDF/A.
Note that it is highly recommended to useConverter.ConversionEventListenerto detect critical conversion events.- Parameters:
analysis- The result of the document's analysis usingpdftools.pdfa.validation.Validator.analyze.document- The document to convertoutStream- The stream where the converted document is written- Returns:
- The result of the conversion
- Throws:
LicenseException- The license check has failed.java.lang.IllegalArgumentException- TheoutOptionsargument is invalid.java.lang.IllegalArgumentException- The output stream could not be opened for writing.java.lang.IllegalStateException- Thedocumenthas already been closed.java.lang.IllegalArgumentException- Theanalysishas already been closed, e.g. due to a previous conversion.java.lang.IllegalArgumentException- The PDF/A version of the analysis and the conversion options do not match.java.lang.IllegalArgumentException- Theanalysisis not the analysis result ofdocument.java.io.IOException- Error reading from or writing to theoutStream.ConformanceException- The conformance required byoptionscannot be achieved.- PDF/A level U: All text of the input document must be extractable.
- PDF/A level A: In addition to the requirements of level U, the input document must be tagged.
ConformanceException- The PDF/A version of the conformances ofanalysisandoptionsdiffer. The same PDF/A version must be used for the analysis and conversion.java.lang.IllegalArgumentException- TheoutOptionsspecifies document encryption, which is not allowed in PDF/A documents.GenericException- The document cannot be converted to PDF/A.CorruptException- The analysis has been stopped.ProcessingException- Failed to add the invoice file. Possible reasons include an invalid XML format, or that the invoice type conflicts with the content of the XML file.UnsupportedFeatureException- The document is not a PDF, but an XFA document. Seepdftools.pdf.Document.getXfafor more information on how to detect and handle XFA documents.NotFoundException- A required font is missing from the installed font directories.java.lang.IllegalArgumentException- ifanalysisisnulljava.lang.IllegalArgumentException- ifdocumentisnulljava.lang.IllegalArgumentException- ifoutStreamisnull
-
convert
public Document convert(AnalysisResult analysis, Document document, Stream outStream, ConversionOptions options) throws java.io.IOException, NotFoundException, GenericException, LicenseException, CorruptException, ConformanceException, UnsupportedFeatureException, ProcessingException
Convert a document to PDF/A.
Note that it is highly recommended to useConverter.ConversionEventListenerto detect critical conversion events.- Parameters:
analysis- The result of the document's analysis usingpdftools.pdfa.validation.Validator.analyze.document- The document to convertoutStream- The stream where the converted document is writtenoptions- The conversion options- Returns:
- The result of the conversion
- Throws:
LicenseException- The license check has failed.java.lang.IllegalArgumentException- TheoutOptionsargument is invalid.java.lang.IllegalArgumentException- The output stream could not be opened for writing.java.lang.IllegalStateException- Thedocumenthas already been closed.java.lang.IllegalArgumentException- Theanalysishas already been closed, e.g. due to a previous conversion.java.lang.IllegalArgumentException- The PDF/A version of the analysis and the conversion options do not match.java.lang.IllegalArgumentException- Theanalysisis not the analysis result ofdocument.java.io.IOException- Error reading from or writing to theoutStream.ConformanceException- The conformance required byoptionscannot be achieved.- PDF/A level U: All text of the input document must be extractable.
- PDF/A level A: In addition to the requirements of level U, the input document must be tagged.
ConformanceException- The PDF/A version of the conformances ofanalysisandoptionsdiffer. The same PDF/A version must be used for the analysis and conversion.java.lang.IllegalArgumentException- TheoutOptionsspecifies document encryption, which is not allowed in PDF/A documents.GenericException- The document cannot be converted to PDF/A.CorruptException- The analysis has been stopped.ProcessingException- Failed to add the invoice file. Possible reasons include an invalid XML format, or that the invoice type conflicts with the content of the XML file.UnsupportedFeatureException- The document is not a PDF, but an XFA document. Seepdftools.pdf.Document.getXfafor more information on how to detect and handle XFA documents.NotFoundException- A required font is missing from the installed font directories.java.lang.IllegalArgumentException- ifanalysisisnulljava.lang.IllegalArgumentException- ifdocumentisnulljava.lang.IllegalArgumentException- ifoutStreamisnull
-
convert
public Document convert(AnalysisResult analysis, Document document, Stream outStream, ConversionOptions options, OutputOptions outOptions) throws java.io.IOException, NotFoundException, GenericException, LicenseException, CorruptException, ConformanceException, UnsupportedFeatureException, ProcessingException
Convert a document to PDF/A.
Note that it is highly recommended to useConverter.ConversionEventListenerto detect critical conversion events.- Parameters:
analysis- The result of the document's analysis usingpdftools.pdfa.validation.Validator.analyze.document- The document to convertoutStream- The stream where the converted document is writtenoptions- The conversion optionsoutOptions- The output options object- Returns:
- The result of the conversion
- Throws:
LicenseException- The license check has failed.java.lang.IllegalArgumentException- TheoutOptionsargument is invalid.java.lang.IllegalArgumentException- The output stream could not be opened for writing.java.lang.IllegalStateException- Thedocumenthas already been closed.java.lang.IllegalArgumentException- Theanalysishas already been closed, e.g. due to a previous conversion.java.lang.IllegalArgumentException- The PDF/A version of the analysis and the conversion options do not match.java.lang.IllegalArgumentException- Theanalysisis not the analysis result ofdocument.java.io.IOException- Error reading from or writing to theoutStream.ConformanceException- The conformance required byoptionscannot be achieved.- PDF/A level U: All text of the input document must be extractable.
- PDF/A level A: In addition to the requirements of level U, the input document must be tagged.
ConformanceException- The PDF/A version of the conformances ofanalysisandoptionsdiffer. The same PDF/A version must be used for the analysis and conversion.java.lang.IllegalArgumentException- TheoutOptionsspecifies document encryption, which is not allowed in PDF/A documents.GenericException- The document cannot be converted to PDF/A.CorruptException- The analysis has been stopped.ProcessingException- Failed to add the invoice file. Possible reasons include an invalid XML format, or that the invoice type conflicts with the content of the XML file.UnsupportedFeatureException- The document is not a PDF, but an XFA document. Seepdftools.pdf.Document.getXfafor more information on how to detect and handle XFA documents.NotFoundException- A required font is missing from the installed font directories.java.lang.IllegalArgumentException- ifanalysisisnulljava.lang.IllegalArgumentException- ifdocumentisnulljava.lang.IllegalArgumentException- ifoutStreamisnull
-
-