This content has been marked as final. Show 8 replies
PDF/A-1a has the requirement of being tagged. This cannot be done by
guesswork, so you have to use a dedicated PDF/A-1a creation tool
linked to document creation, or go through an arduous manual process
of adding tagging.
I don't know how this interacts with the product at hand. Maybe it can
do it if you feed it tagged PDF, but I don't know.
The strange thing is that I'm using Adobe LiveCycle PDF Generator ES, a product that specifically states that it can produce both PDF/A variants. The problem is that in the configuration of the product I can only find a profile (PDF settings) for PDF/A-1b. It is possible to create a new profile, but in all the possible options, especially in the section 'Standards Reporting and Compliance', only PDF/A-1b is mentioned and nothing can be found about PDF/A-1a.
So according to the product specification PDF/A-1a should be a possible option, but nowhere in the adminui or in the documentation can I find how to make a profile that would do this.
Go to File type settings, then Microsoft Word/Visio/Powerpoint/Project. Check the box which says:
"Create PDF/A-1a compliant file (using this setting will force the job option PDF/A-1b:2005(RGB) to be used)"
This should be what you are after. Since some input formats can't be accurately automatically tagged (e.g. scanned files), the option is not available. For those you can generate as PDF/A-1b and add tags manually using Acrobat (but remember when converting these files to use the job option which PDF/A-1a usually uses, "PDF/A-1b:2005(RGB)").
First of all thanks to both posters for their replies.
I've googled PDF/A a bit more and if I'm correct the big difference between PDF/A-1a and PDF/A-1b is that the first needs a Tagged PDF as input while the second doesn't.
So when using Adobe LiveCycle Generator ES with a Tagged input PDF and specifying job option PDF/A-1b:2005(RGB), a compliant PDF/A-1a will be generated and if the input wasn't tagged a PDF/A-1b is created.
If this is correct, then part of my problem is solved, but some parts remain because:
- the input PDFs I have to process are generated by CutePDF -> solution would maybe be to stop using that to convert various formats to PDF and also use PDF Generator for this?
- the conversion from PDF to PDF/A-1a has to run as a server process, callable through a webservice (currently a process build in LiveCycle Workbench ES), so adding the necessary tagging is something that can't be manually done using Acrobat, but has to be done automatically on the server. I haven't found any API calls that can do this.
>>So when using Adobe LiveCycle Generator ES with a Tagged input PDF and specifying job option PDF/A-1b:2005(RGB), a compliant PDF/A-1a will be generated and if the input wasn't tagged a PDF/A-1b is created.
Only problem is that to the best of my knowledge you can't pass an existing PDF into PDF Generator, without exporting to another format and back again.
It does seem that tagging of existing PDF files <i>can</i> be done automatically by another product in the Livecycle suite (although I can't confirm whether the automated tagging will meet any legal accessibility requirements if there are any for the documents you are producing for whatever region you are in).
From what I've read in the API docs, to create PDF/A from existing PDF files, you will need Output ES, in particular the transformPDF method:
public Document transformPDF(Document inPdfDoc, TransformationFormat transformationFormat, PDFARevisionNumber pdfaRevisionNumber, String pdfaAmendment, PDFAConformance pdfaConformance)
This keeps getting weirder and weirder.
The call you suggest is the one I tried first when I was just working using the LiveCycle Java APIs and not using Workbench ES, but that wouldn't work. A workaround that I had used for a previous project seemed a possible solution: PDF -> PS -> PDF/A.
The first step of this process is done using the ConvertPDFClient (toPS method). The second step is done using the DistillerClient (createPDF method). At first this seemed to work, but when I added a call to AssemblerClient in front of the conversion to PDF/A, to add a watermark to the whole document, a new problem was discovered. The AssemblerClient call should always return an AssemblerResult object that can contain one or more Document objects and/or log objects (in case of a problem). In my case the call return 'null'.
In this case an Adobe sales person suggested to discard using the Java APIs and to build the while process in Workbench as a short-lived process and expose that as a web service.
I did this and at first this seemed to totally solve the problem as I was able to created a watermarked PDF/A-1b document from a PDF generated by CutePDF. This was all OK until someone said that PDF/A-1a was also needed.
Since the specs for PDF Generator ES say that this is supported and since generating a PDF/A-1b was as easy a selecting the correct profile for conversion in the short-lived process step, I assumed that I would just have to select a different profile. This is where everything was starting to go downhill. I couldn't find a PDF/A-1a profile and I also can't create one.
The call you suggest is available in the Java API, but I it isn't present in my Workbench ES?
I've just read a footnote in the API documentation which indicates that the transformPDF function cannot be used for this purpose:
"GS_Enterprise said on Nov 24, 2007 at 12:03 PM :
Please note that the parameter "inPdfDoc" for transformPDF assumes that the stream content is an XFA-based PDF, and that it's not an XFA-based PDF with a PDF background (also known as "XFA foreground"). In other words, this function does not convert any input PDF to PDF/A, but only those PDFs generated from an XFA template which does not include any static PDF content as a background."
So I'm out of ideas, perhaps if someone else has a suggestion?
That would indeed explain why I get
>com.adobe.livecycle.output.exception.OutputException: Document is not a valid PDF Document
as exception message when I tried to use transformPDF to do the PDF -> PDF/A-1a conversion.