10

I need to convert a PDF file to PDF/A.

Which libraries are available? (Preferably Delphi but other platforms should be OK, even .NET).

My preferred option would have been to use http://synactis.com/pdf-in-the-box.htm (which is the one used to create the PDF file that I need to convert to PDF/A), but it seems that the PDF/A files it generates (at least in demo mode for Extended Features) are not valid.

To avoid recreating the PDF from scratch with a new library by painting everything in a Canvas, it would be very convenient that the library took a rendered PDF as input to create a PDF/A (1.4 or greater) version of it as output.

2

If a commercial library is an option for you, then you can try Amyuni PDF Suite ActiveX, which can be used from Delphi.

Amyuni PDF Suite has two components, a PDF viewer/editor, and a virtual printer driver. What you would need to do is to install the virtual printer driver, configure it for producing PDF-A, then open your PDF files with the viewer and reprint them to the virtual printer. The printer can be configured using another ActiveX interface, so you can also do that from Delphi.

Note that PDF-A requires all fonts to be embedded in the output file, so if some of your input files specify a font that is not present on the system where the conversion takes place, this font will be replaced with another one permanently.

Also some of the fonts embedded in your input files might not have all the required information to be used in PDF-A, in such cases the font characters will be converted into regular PDF drawings (text selection will not work on them).

Disclaimer: I currently work for Amyuni Technologies.

| improve this answer | |
1

I would suggest PDFForge's PDFCreator.

It is just a fake printer driver and one of the selectable output formats is PDF/A (version 2b). Adobe Acrobat thinks it is PDF-A, I haven't ever done any other tests.

You can use PDFCreator on the command line, via any program with print support or also it has a COM/ACTIVE-X interface. It is written in VBScript. I can't recall it's licensing details but it is hosted on SF so it is probably something open(ish).

If you want to avoid that layer you could probably use it's underlying writer, GhostScript. I haven't used it but there are instructions specifically for that.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.