Author: ssteiner
Date: Thu Sep 24 14:33:51 2020
New Revision: 1881983

URL: http://svn.apache.org/viewvc?rev=1881983&view=rev
Log:
FOP-2971: Update unique name inside patterns

Added:
    xmlgraphics/fop-pdf-images/trunk/test/resources/pattern.pdf   (with props)
Modified:
    
xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFCloner.java
    
xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java

Modified: 
xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFCloner.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFCloner.java?rev=1881983&r1=1881982&r2=1881983&view=diff
==============================================================================
--- 
xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFCloner.java
 (original)
+++ 
xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFCloner.java
 Thu Sep 24 14:33:51 2020
@@ -191,7 +191,8 @@ public class PDFCloner {
         }
 
         OutputStream out = stream.getBufferOutputStream();
-        if (originalStream.getItem(COSName.SUBTYPE) == COSName.FORM && 
adapter.uniqueName != null) {
+        if ((originalStream.getItem(COSName.TYPE) == COSName.PATTERN
+                || originalStream.getItem(COSName.SUBTYPE) == COSName.FORM) && 
adapter.uniqueName != null) {
             PDFWriter writer = new PDFWriter(adapter.uniqueName, 
adapter.currentMCID);
             try {
                 String newStream = writer.writeText(new 
PDStream(originalStream));

Modified: 
xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java?rev=1881983&r1=1881982&r2=1881983&view=diff
==============================================================================
--- 
xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java
 (original)
+++ 
xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java
 Thu Sep 24 14:33:51 2020
@@ -124,6 +124,7 @@ public class PDFBoxAdapterTestCase {
     private static final String TYPE0TT = "test/resources/type0tt.pdf";
     private static final String TYPE0CFF = "test/resources/type0cff.pdf";
     private static final String ACCESSIBLERADIOBUTTONS = 
"test/resources/accessibleradiobuttons.pdf";
+    private static final String PATTERN = "test/resources/pattern.pdf";
 
     private static PDFPage getPDFPage(PDFDocument doc) {
         final Rectangle2D r = new Rectangle2D.Double();
@@ -673,13 +674,17 @@ public class PDFBoxAdapterTestCase {
     }
 
     @Test
-    public void testRewriteOfForms() throws Exception {
+    public void testRewriteOfForms() throws IOException {
+        
Assert.assertTrue(getPDFToPDF(ACCESSIBLERADIOBUTTONS).contains("/F15106079 12 
Tf"));
+    }
+
+    private String getPDFToPDF(String pdf) throws IOException {
         PDFDocument pdfdoc = new PDFDocument("");
         PDFPage pdfpage = getPDFPage(pdfdoc);
         pdfpage.setDocument(pdfdoc);
         pdfpage.setObjectNumber(1);
         PDFBoxAdapter adapter = new PDFBoxAdapter(pdfpage, new HashMap(), new 
HashMap<Integer, PDFArray>());
-        PDDocument doc = PDDocument.load(new File(ACCESSIBLERADIOBUTTONS));
+        PDDocument doc = PDDocument.load(new File(pdf));
         PDPage page = doc.getPage(0);
         AffineTransform at = new AffineTransform();
         Rectangle r = new Rectangle(0, 1650, 842000, 595000);
@@ -691,8 +696,13 @@ public class PDFBoxAdapterTestCase {
         filterMap.put("default", filterList);
         pdfdoc.setFilterMap(filterMap);
         pdfdoc.output(os);
-        Assert.assertTrue(os.toString("UTF-8").contains("/F15106079 12 Tf"));
         doc.close();
+        return os.toString("UTF-8");
+    }
+
+    @Test
+    public void testRewriteOfPatternForms() throws IOException {
+        Assert.assertTrue(getPDFToPDF(PATTERN).contains("/R1106079 gs\n1 1 
m"));
     }
 
     @Test

Added: xmlgraphics/fop-pdf-images/trunk/test/resources/pattern.pdf
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/test/resources/pattern.pdf?rev=1881983&view=auto
==============================================================================
Binary file - no diff available.

Propchange: xmlgraphics/fop-pdf-images/trunk/test/resources/pattern.pdf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream



---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org

Reply via email to