Author: ssteiner Date: Thu Aug 21 14:42:22 2014 New Revision: 1619415 URL: http://svn.apache.org/r1619415 Log: FOP-2353: PDF-A preflight warnings
Modified: xmlgraphics/fop/trunk/lib/xmlgraphics-commons-svn-trunk.jar xmlgraphics/fop/trunk/src/java/org/apache/fop/render/pdf/PDFRenderingUtil.java xmlgraphics/fop/trunk/src/java/org/apache/fop/render/pdf/PDFStructureTreeBuilder.java Modified: xmlgraphics/fop/trunk/lib/xmlgraphics-commons-svn-trunk.jar URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/lib/xmlgraphics-commons-svn-trunk.jar?rev=1619415&r1=1619414&r2=1619415&view=diff ============================================================================== Binary files - no diff available. Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/render/pdf/PDFRenderingUtil.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/pdf/PDFRenderingUtil.java?rev=1619415&r1=1619414&r2=1619415&view=diff ============================================================================== --- xmlgraphics/fop/trunk/src/java/org/apache/fop/render/pdf/PDFRenderingUtil.java (original) +++ xmlgraphics/fop/trunk/src/java/org/apache/fop/render/pdf/PDFRenderingUtil.java Thu Aug 21 14:42:22 2014 @@ -26,6 +26,7 @@ import java.io.InputStream; import java.io.OutputStream; import java.net.URI; import java.net.URISyntaxException; +import java.util.ArrayList; import java.util.EnumMap; import java.util.List; import java.util.Map; @@ -36,6 +37,7 @@ import org.apache.commons.logging.LogFac import org.apache.xmlgraphics.java2d.color.profile.ColorProfileUtil; import org.apache.xmlgraphics.xmp.Metadata; +import org.apache.xmlgraphics.xmp.schemas.DublinCoreSchema; import org.apache.xmlgraphics.xmp.schemas.XMPBasicAdapter; import org.apache.xmlgraphics.xmp.schemas.XMPBasicSchema; @@ -246,7 +248,11 @@ class PDFRenderingUtil { Metadata docXMP = metadata.getMetadata(); Metadata fopXMP = PDFMetadata.createXMPFromPDFDocument(pdfDoc); //Merge FOP's own metadata into the one from the XSL-FO document - fopXMP.mergeInto(docXMP); + List<Class> exclude = new ArrayList<Class>(); + if (pdfDoc.getProfile().getPDFAMode().isPart1()) { + exclude.add(DublinCoreSchema.class); + } + fopXMP.mergeInto(docXMP, exclude); XMPBasicAdapter xmpBasic = XMPBasicSchema.getAdapter(docXMP); //Metadata was changed so update metadata date xmpBasic.setMetadataDate(new java.util.Date()); Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/render/pdf/PDFStructureTreeBuilder.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/pdf/PDFStructureTreeBuilder.java?rev=1619415&r1=1619414&r2=1619415&view=diff ============================================================================== --- xmlgraphics/fop/trunk/src/java/org/apache/fop/render/pdf/PDFStructureTreeBuilder.java (original) +++ xmlgraphics/fop/trunk/src/java/org/apache/fop/render/pdf/PDFStructureTreeBuilder.java Thu Aug 21 14:42:22 2014 @@ -358,7 +358,10 @@ class PDFStructureTreeBuilder implements } public StructureTreeElement startNode(String name, Attributes attributes, StructureTreeElement parent) { - assert parent == null || parent instanceof PDFStructElem; + if (!isPDFA1Safe(name)) { + return null; + } + assert parent == null || parent instanceof PDFStructElem; PDFStructElem parentElem = parent == null ? ancestors.getFirst() : (PDFStructElem) parent; PDFStructElem structElem = createStructureElement(name, parentElem, attributes, pdfFactory, eventBroadcaster); @@ -367,7 +370,16 @@ class PDFStructureTreeBuilder implements } public void endNode(String name) { - ancestors.removeFirst(); + if (isPDFA1Safe(name)) { + ancestors.removeFirst(); + } + } + + private boolean isPDFA1Safe(String name) { + return !(pdfFactory.getDocument().getProfile().getPDFAMode().isPart1() + && (name.equals("table-body") + || name.equals("table-header") + || name.equals("table-footer"))); } public StructureTreeElement startImageNode(String name, Attributes attributes, StructureTreeElement parent) { --------------------------------------------------------------------- To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org