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 2016/07/26 09:49:04 UTC
svn commit: r1754095 - in /xmlgraphics/fop-pdf-images/trunk:
src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java
test/java/org/apache/fop/render/pdf/PDFBoxAdapterTestCase.java
Author: ssteiner
Date: Tue Jul 26 09:49:03 2016
New Revision: 1754095
URL: http://svn.apache.org/viewvc?rev=1754095&view=rev
Log:
FOP-2636: PDF with annotations won't upload to docusign
Modified:
xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.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/PDFBoxAdapter.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java?rev=1754095&r1=1754094&r2=1754095&view=diff
==============================================================================
--- xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java (original)
+++ xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java Tue Jul 26 09:49:03 2016
@@ -634,7 +634,8 @@ public class PDFBoxAdapter {
//to guess the calculation order.
destAcroForm = new PDFDictionary(pdfDoc.getRoot());
}
- pdfDoc.registerObject(destAcroForm);
+ pdfDoc.assignObjectNumber(destAcroForm);
+ pdfDoc.addTrailerObject(destAcroForm);
catalog.put(COSName.ACRO_FORM.getName(), destAcroForm);
}
PDFArray clonedFields = (PDFArray) destAcroForm.get(COSName.FIELDS.getName());
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=1754095&r1=1754094&r2=1754095&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 Tue Jul 26 09:49:03 2016
@@ -102,6 +102,7 @@ public class PDFBoxAdapterTestCase {
private static final String Type1Subset3 = "test/resources/t1subset3.pdf";
private static final String Type1Subset4 = "test/resources/t1subset4.pdf";
protected static final String ROTATE = "test/resources/rotate.pdf";
+ private static final String ANNOT = "test/resources/annot.pdf";
private static final String SHADING = "test/resources/shading.pdf";
private static final String LINK = "test/resources/link.pdf";
private static final String IMAGE = "test/resources/image.pdf";
@@ -175,7 +176,7 @@ public class PDFBoxAdapterTestCase {
private String writeText(FontInfo fi, String pdf) throws IOException {
PDDocument doc = PDDocument.load(new File(pdf));
- PDPage page = (PDPage) doc.getDocumentCatalog().getPages().get(0);
+ PDPage page = doc.getDocumentCatalog().getPages().get(0);
AffineTransform at = new AffineTransform();
String c = getPDFBoxAdapter().createStreamFromPDFBoxPage(doc, page, pdf, at, fi, new Rectangle());
// PDResources sourcePageResources = page.findResources();
@@ -187,7 +188,7 @@ public class PDFBoxAdapterTestCase {
}
private COSDictionary getFont(PDDocument doc, String internalname) throws IOException {
- PDPage page = (PDPage) doc.getDocumentCatalog().getPages().get(0);
+ PDPage page = doc.getDocumentCatalog().getPages().get(0);
PDResources sourcePageResources = page.getResources();
COSDictionary fonts = (COSDictionary)sourcePageResources.getCOSObject().getDictionaryObject(COSName.FONT);
return (COSDictionary) fonts.getDictionaryObject(internalname);
@@ -305,7 +306,7 @@ public class PDFBoxAdapterTestCase {
pdfpage.setDocument(pdfdoc);
PDFBoxAdapter adapter = new PDFBoxAdapter(pdfpage, new HashMap(), new HashMap<Integer, PDFArray>());
PDDocument doc = PDDocument.load(new File(ROTATE));
- PDPage page = (PDPage) doc.getDocumentCatalog().getPages().get(0);
+ PDPage page = doc.getDocumentCatalog().getPages().get(0);
AffineTransform at = new AffineTransform();
Rectangle r = new Rectangle(0, 1650, 842000, 595000);
String stream = adapter.createStreamFromPDFBoxPage(doc, page, "key", at, null, r);
@@ -324,7 +325,7 @@ public class PDFBoxAdapterTestCase {
PDFBoxAdapter adapter = new PDFBoxAdapter(pdfpage, new HashMap(), new HashMap<Integer, PDFArray>());
adapter.setCurrentMCID(5);
PDDocument doc = PDDocument.load(new File(HELLOTagged));
- PDPage page = (PDPage) doc.getDocumentCatalog().getPages().get(0);
+ PDPage page = doc.getDocumentCatalog().getPages().get(0);
AffineTransform at = new AffineTransform();
Rectangle r = new Rectangle(0, 1650, 842000, 595000);
String stream = adapter.createStreamFromPDFBoxPage(doc, page, "key", at, null, r);
@@ -333,6 +334,26 @@ public class PDFBoxAdapterTestCase {
}
@Test
+ public void testAnnot() throws Exception {
+ PDFDocument pdfdoc = new PDFDocument("");
+ PDFPage pdfpage = new PDFPage(new PDFResources(pdfdoc), 0, r, r, r, r);
+ pdfpage.setDocument(pdfdoc);
+ pdfpage.setObjectNumber(1);
+ PDFBoxAdapter adapter = new PDFBoxAdapter(pdfpage, new HashMap(), new HashMap<Integer, PDFArray>());
+ PDDocument doc = PDDocument.load(new File(ANNOT));
+ PDPage page = doc.getDocumentCatalog().getPages().get(0);
+ AffineTransform at = new AffineTransform();
+ Rectangle r = new Rectangle(0, 1650, 842000, 595000);
+ ByteArrayOutputStream os = new ByteArrayOutputStream();
+ pdfdoc.output(os);
+ os.reset();
+ adapter.createStreamFromPDFBoxPage(doc, page, "key", at, null, r);
+ pdfdoc.outputTrailer(os);
+ Assert.assertTrue(os.toString("UTF-8").contains("/Fields ["));
+ doc.close();
+ }
+
+ @Test
public void testLink() throws Exception {
PDFDocument pdfdoc = new PDFDocument("");
PDFPage pdfpage = new PDFPage(new PDFResources(pdfdoc), 0, r, r, r, r);
@@ -341,7 +362,7 @@ public class PDFBoxAdapterTestCase {
Map<Integer, PDFArray> pageNumbers = new HashMap<Integer, PDFArray>();
PDFBoxAdapter adapter = new PDFBoxAdapter(pdfpage, new HashMap(), pageNumbers);
PDDocument doc = PDDocument.load(new File(LINK));
- PDPage page = (PDPage) doc.getDocumentCatalog().getPages().get(0);
+ PDPage page = doc.getDocumentCatalog().getPages().get(0);
AffineTransform at = new AffineTransform();
Rectangle r = new Rectangle(0, 1650, 842000, 595000);
String stream = adapter.createStreamFromPDFBoxPage(doc, page, "key", at, null, r);
@@ -363,7 +384,7 @@ public class PDFBoxAdapterTestCase {
Map<Integer, PDFArray> pageNumbers = new HashMap<Integer, PDFArray>();
PDFBoxAdapter adapter = new PDFBoxAdapter(pdfpage, new HashMap(), pageNumbers);
PDDocument doc = PDDocument.load(new File(XFORM));
- PDPage page = (PDPage) doc.getDocumentCatalog().getPages().get(0);
+ PDPage page = doc.getDocumentCatalog().getPages().get(0);
AffineTransform at = new AffineTransform();
Rectangle r = new Rectangle(0, 1650, 842000, 595000);
adapter.createStreamFromPDFBoxPage(doc, page, "key", at, new FontInfo(), r);
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org