You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by ss...@apache.org on 2014/08/21 16:42:23 UTC
svn commit: r1619415 - in /xmlgraphics/fop/trunk:
lib/xmlgraphics-commons-svn-trunk.jar
src/java/org/apache/fop/render/pdf/PDFRenderingUtil.java
src/java/org/apache/fop/render/pdf/PDFStructureTreeBuilder.java
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-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org