www.pdf-tools.com Open in urlscan Pro
52.208.181.101  Public Scan

Submitted URL: http://www.pdf-tools.com/
Effective URL: https://www.pdf-tools.com/
Submission: On January 26 via api from US — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

 * Products
   
   
   SDKS
   
   SDK & Shell tools
   Pdftools SDK
   
   
   CONVERSION SERVICE
   
   Automation server
   Conversion Service
   
   
   APIS
   
   Managed services and APIs
   Pdftools API
   
   
   VIEWING SOLUTIONS
   
   Document reader and annotator
   PDF Web Viewer
 * Documentation
   
   
   GETTING STARTED
   
   Conversion Service
   Pdftools SDK
   Pdftools API
   PDF Web Viewer
 * Resources
   
   
   LEARN MORE
   
   BlogWe want to empower you to become PDF experts yourself.
   Customer storiesGet to know leading companies and organizations and their
   projects
   PDF glossaryConsult common PDF terms
 * Pricing
 * About us
 * Contact us

 * Log in
 * Try for free

 * Try for free
 * 

By developers for developers




THE LEADING PDF SDK

Build in minutes, scale without limits. Sign up for free to get full access to
any of our products.
Start building now
By signing up, you agree to our Licence Agreement and Privacy Policy


6,000+ COMPANIES ALREADY LOVE PDFTOOLS


Need a no-code PDF tool without implementation? Try Smallpdf.
See Smallpdf


ALL YOUR PDF NEEDS MET

From conversions to compression, we have everything you need to integrate PDF
documents into your product and your customers.
PDF Tools SDKConversion ServicePDF Web Viewer


THE PDF SDK BUILT FOR YOUR PDF WORKFLOWS

 * Archiving PDFs (PDF/A format)

 * Converting files to and from PDF PDFs and PDF/As

 * Dividing or combining PDFs

 * Extracting data and content of PDFs

 * Reducing the size of PDF files

 * Signing and encrypting PDFs

 * Validating PDFs and PDF/As

Windows Client
MacOS
Linux
See product



AUTOMATE DOCUMENT PROCESSING

 * Archiving PDFs (PDF/A format)

 * Converting files to and from PDF PDFs and PDF/As

 * Reducing the size of PDF files

 * Signing and encrypting PDFs

 * Validating PDFs and PDF/As

Windows Client
MacOS
Linux
See product



HIGH-PERFORMANCE ONLINE RENDERING

 * Viewing and annotating PDFs online

Windows Client
MacOS
Linux
See product



BUILD FASTER, BUILD BETTER

Made by developers for developers. Test our versatile PDF SDK and see it for
yourself.
Convert PDF to PDF/ASign PDFCompress and Optimize PDFEncrypt PDFValidate PDF
conformance
JavaC#

1// Create a converter object
2Converter converter = new Converter();
3
4// Add handler for conversion events
5class EventListener implements ConversionEventListener
6{
7    private EventSeverity eventsSeverity = EventSeverity.INFORMATION;
8
9    public EventSeverity getEventsSeverity() {
10        return eventsSeverity;
11    }
12
13    @Override
14    public void conversionEvent(ConversionEvent event) {
15        // Get the event's suggested severity
16        EventSeverity severity = event.getSeverity();
17
18        // Optionally, the suggested severity can be changed according to
19        // the requirements of your conversion process and, for example,
20        // the event's category (e.Category).
21
22        if (severity.ordinal() > eventsSeverity.ordinal())
23            eventsSeverity = severity;
24
25        // Report conversion event
26        System.out.format("- %c %s: %s (%s%s)%n", severity.toString().charAt(0), event.getCategory(), event.getMessage(), event.getContext(), event.getPageNo() > 0 ? " on page " + event.getPageNo() : "");
27    }
28}
29EventListener el = new EventListener();
30
31converter.addConversionEventListener(el);
32

1try (
2    // Create a session to the built-in cryptographic provider
3    Provider session = new Provider();
4
5    // Open certificate file
6    FileStream pfxStr = new FileStream(certificateFile, FileStream.Mode.READ_ONLY))
7{
8    // Create signature configuration from PFX (or P12) file
9    SignatureConfiguration signature = session.createSignatureFromCertificate(pfxStr, password);
10
11    // Embed validation information to enable the long-term validation (LTV) of the signature (default)
12    signature.setValidationInformation(com.pdftools.crypto.ValidationInformation.EMBED_IN_DOCUMENT);
13
14    // Create the Signer object
15    Signer signer = new Signer();
16
17    // (optional) create an event listener to listen for warning events that are raised and write them to console
18    signer.addWarningListener((e) -> { System.out.format("Warning - %s: %s: %s", e.getCategory(), e.getContext(), e.getMessage()); });
19
20    try (
21        // Open input document
22        FileStream inStr = new FileStream(inPath, FileStream.Mode.READ_ONLY);
23        Document inDoc = Document.open(inStr);
24
25        // Create a stream for the output file
26        FileStream outStr = new FileStream(outPath, FileStream.Mode.READ_WRITE_NEW);
27
28        // Sign the input document
29        Document outDoc = signer.sign(inDoc, signature, outStr))
30    {
31    }
32}
33        

1// Create the Optimizer object.
2Optimizer optimizer = new Optimizer();
3
4// Create the profile that defines the optimization parameters.
5// The Web profile is used to optimize documents for electronic document exchange.
6Web profile = new Web();
7
8// Optionally, the profile's parameters can be changed according to the
9// requirements of your optimization process.
10
11try (
12    // Open input document
13    FileStream inStr = new FileStream(inPath, FileStream.Mode.READ_ONLY);
14    Document inDoc = Document.open(inStr);
15
16    // Create output stream
17    FileStream outStr = new FileStream(outPath, FileStream.Mode.READ_WRITE_NEW);
18
19    // Optimize the document
20    Document outDoc = optimizer.optimizeDocument(inDoc, outStr, profile))
21{
22}
23

1// Open an encrypted input document
2// The password parameter is optional, and only required to open an encrypted PDF document
3FileStream inStr = new FileStream(inPath, FileStream.Mode.READ_ONLY);
4com.pdftools.pdf.Document inDoc = com.pdftools.pdf.Document.open(inStr, password)
5
6// Create output stream
7FileStream outStr = new FileStream(outPath, FileStream.Mode.READ_WRITE_NEW);
8
9// Create output options and specify encryption parameters
10// In this example, a 'User' is only granted permission to fill forms and print the document
11OutputOptions outOpt = new OutputOptions();
12
13// Set a user password that is required to open the document.
14// Note that this removes PDF/A conformance of input files (see warning category WarningCategory.PDF_A_REMOVED)
15outOpt.setEncryption(new Encryption(strUserPassword, strOwnerPassword, EnumSet.of(Permission.FILL_FORMS, Permission.PRINT)));
16
17// Optimize the input PDF document and save it to a file, applying the specified output encryption
18Document outDoc = new Optimizer().optimizeDocument(inDoc, outStr, profile, outOpt));
19
20// Create output options and remove encryption by setting it to null
21OutputOptions outOpt = new OutputOptions();
22outOpt.setEncryption(null);
23

1// Open the PDF document to validate
2try (FileStream inStr = new FileStream(inPath, FileStream.Mode.READ_ONLY);
3    com.pdftools.pdf.Document inDoc = com.pdftools.pdf.Document.open(inStr))
4{
5    // Create a conformance object that specifies the PDF/A standard and level against which the document is validated.
6    // Here we choose the PDF/A-2 Standard, with conformance Level B.
7    Conformance conformance = new Conformance(new Conformance.PdfAVersion(2, Conformance.PdfAVersion.Level.B));
8
9    // Create a Validator object and attach an Error event handler that simply writes the validation error messages to the console.
10    Validator validator = new Validator();
11    validator.addErrorListener(
12        (Validator.Error error) ->
13        System.out.format("- %s: %s (%s%s)%n", error.getCategory(), error.getMessage(), error.getContext(), error.getPageNo() > 0 ? String.format(" on page %d", error.getPageNo()) : "")
14    );
15
16    // Validate the PDF/A standard and level of the document against the defined Conformance level.
17    ValidationOptions options = new ValidationOptions();
18    options.setConformance(conformance);
19    ValidationResult result = validator.validate(inDoc, options);
20
21    // Write the result of the Validate method to the console.
22    System.out.println("Document conforms to " + result.getConformance().toString() + ": " + result.getIsConforming​());
23}
24

See all Pdf Tools SDK code samples


TRY PDFTOOLS AND SEE FOR YOURSELF

Sign up for a free 30-day trial and join the 6,000+ customers already using
Pdftools to manage their documents.
Get startedContact us


WHAT CUSTOMERS ARE SAYING

Customer stories

BAYER CROPSCIENCE RELIES ON THE ISO LONG-TERM ARCHIVING FORMAT PDF/A



Products used

Conversion service / PDF Optimizer / PDF to PDF/A Converter / + 4 more

View case study

Customer stories

CREATING SWISS ADOPTIONS OF EUROPEAN AND INTERNATIONAL STANDARDS IN RECORD TIME



Products used

PDF Toolbox SDK

View case study

Customer stories

EFFICIENT MOBILE ACCESS TO INFORMATION FOR ON-BOARD STAFF AT DEUTSCHE LUFTHANSA
AG



Products used

PDF Web Viewer

View case study


SUPPORT

DOCUMENTATION

Learn how Pdftools products work.

See documentation

PDF GLOSSARY

Consult common PDF terms.

See glossary

PDF KNOWLEDGE

Learn more about PDF standards.

See PDF knowledge


STRESS LESS ABOUT YOUR PDF WORKFLOW

Test drive Pdftools for yourself with a free trial.
Get startedContact us

Try it for 30 days, no credit card required

Install the tools yourself, with support from our team

Watch your document processing time plummet

EXPLORE

 * Pdftools SDK
 * Conversion Service
 * Pdftools API
 * PDF Web Viewer

LEARN

 * Documentation
 * Blog
 * Customer stories
 * PDF glossary

COMPANY

 * About us
 * Careers

GET STARTED

 * Try for free
 * Log in
 * Contact us

 * Copyright © 2024 PDF Tools AG
 * Imprint
 * Privacy policy
 * License agreement
   Cookie settings
   Our website uses cookies
   We use cookies for analytical purposes and to show you advertising related to
   your preferences, based on your browsing habits and profile. You can
   configure or block cookies by clicking on “Cookie settings”. You can also
   accept all cookies by clicking on “Accept all cookies”. For more information,
   please consult our Privacy Policy.
   Accept all cookiesManage cookies

 * 
 * 
 * 

Language
EnglishDeutsch






Products
Products


SDKS

SDK & Shell tools
Pdftools SDK


CONVERSION SERVICE

Automation server
Conversion Service


APIS

Managed services and APIs
Pdftools API


VIEWING SOLUTIONS

Document reader and annotator
PDF Web Viewer
Documentation
Documentation


GETTING STARTED

Conversion Service
Pdftools SDK
Pdftools API
PDF Web Viewer
Resources
Resources


LEARN MORE

Blog
Customer stories
PDF glossary
Pricing
About us
Contact us

--------------------------------------------------------------------------------

Log in
Try for free