From b9fbfa6b71b5e0d67806c066ea422819de08f3b2 Mon Sep 17 00:00:00 2001 From: Vincent Hennebert Date: Wed, 21 Mar 2012 15:12:43 +0000 Subject: [PATCH] Added support for PDF object streams. When accessibility is enabled and PDF version 1.5 selected, the structure tree will be stored in object streams in order to reduce the size of the final PDF. This can lead to file reductions by up to 75% git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_PDF_ObjectStreams@1303431 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/fop/pdf/AbstractPDFStream.java | 61 ++- .../org/apache/fop/pdf/CompressedObject.java | 49 +++ src/java/org/apache/fop/pdf/ObjectStream.java | 85 ++++ .../apache/fop/pdf/ObjectStreamManager.java | 69 ++++ src/java/org/apache/fop/pdf/PDFAnnotList.java | 5 +- src/java/org/apache/fop/pdf/PDFArray.java | 25 +- src/java/org/apache/fop/pdf/PDFCIDFont.java | 6 +- src/java/org/apache/fop/pdf/PDFCMap.java | 2 +- .../org/apache/fop/pdf/PDFDestination.java | 3 +- .../org/apache/fop/pdf/PDFDictionary.java | 11 +- src/java/org/apache/fop/pdf/PDFDocument.java | 390 ++++++++++-------- .../org/apache/fop/pdf/PDFEncryption.java | 6 +- .../org/apache/fop/pdf/PDFEncryptionJCE.java | 24 +- src/java/org/apache/fop/pdf/PDFFactory.java | 29 -- .../org/apache/fop/pdf/PDFFilterList.java | 13 +- src/java/org/apache/fop/pdf/PDFFont.java | 2 +- .../org/apache/fop/pdf/PDFFormXObject.java | 4 +- src/java/org/apache/fop/pdf/PDFFunction.java | 24 +- src/java/org/apache/fop/pdf/PDFGState.java | 4 +- src/java/org/apache/fop/pdf/PDFGoTo.java | 4 +- .../org/apache/fop/pdf/PDFGoToRemote.java | 3 +- .../apache/fop/pdf/PDFICCBasedColorSpace.java | 2 - src/java/org/apache/fop/pdf/PDFICCStream.java | 2 +- .../org/apache/fop/pdf/PDFImageXObject.java | 4 +- src/java/org/apache/fop/pdf/PDFInfo.java | 3 +- src/java/org/apache/fop/pdf/PDFLaunch.java | 3 +- src/java/org/apache/fop/pdf/PDFLink.java | 5 +- src/java/org/apache/fop/pdf/PDFMetadata.java | 2 +- src/java/org/apache/fop/pdf/PDFName.java | 13 +- src/java/org/apache/fop/pdf/PDFNumber.java | 6 - src/java/org/apache/fop/pdf/PDFNumsArray.java | 11 +- src/java/org/apache/fop/pdf/PDFObject.java | 2 +- src/java/org/apache/fop/pdf/PDFOutline.java | 3 +- .../org/apache/fop/pdf/PDFOutputIntent.java | 3 +- src/java/org/apache/fop/pdf/PDFPages.java | 9 +- src/java/org/apache/fop/pdf/PDFPattern.java | 7 +- src/java/org/apache/fop/pdf/PDFResources.java | 4 +- src/java/org/apache/fop/pdf/PDFRoot.java | 2 +- src/java/org/apache/fop/pdf/PDFShading.java | 5 +- src/java/org/apache/fop/pdf/PDFStream.java | 30 +- .../org/apache/fop/pdf/PDFStructElem.java | 2 +- src/java/org/apache/fop/pdf/PDFT1Stream.java | 2 +- src/java/org/apache/fop/pdf/PDFTTFStream.java | 2 +- src/java/org/apache/fop/pdf/PDFText.java | 2 - src/java/org/apache/fop/pdf/PDFUri.java | 3 +- src/java/org/apache/fop/pdf/PDFXObject.java | 4 + src/java/org/apache/fop/pdf/Version.java | 7 +- .../pdf/xref/CompressedObjectReference.java | 66 +++ .../fop/pdf/xref/CrossReferenceObject.java | 46 +++ .../fop/pdf/xref/CrossReferenceStream.java | 107 +++++ .../fop/pdf/xref/CrossReferenceTable.java | 73 ++++ .../apache/fop/pdf/xref/ObjectReference.java | 39 ++ .../fop/pdf/xref/TrailerDictionary.java | 94 +++++ .../pdf/xref/UncompressedObjectReference.java | 48 +++ .../pdf/PDFLogicalStructureHandler.java | 6 +- .../fop/render/pdf/PDFRenderingUtil.java | 7 +- .../render/pdf/PDFStructureTreeBuilder.java | 6 +- .../pdf/background-image_png_single.pdf | Bin 58309 -> 0 bytes test/accessibility/pdf/complete.pdf | Bin 96722 -> 0 bytes test/accessibility/pdf/image_png.pdf | Bin 57780 -> 0 bytes test/accessibility/pdf/image_wmf.pdf | Bin 304960 -> 0 bytes .../org/apache/fop/StandardTestSuite.java | 4 +- .../fop/pdf/AbstractPDFStreamTestCase.java | 8 +- .../fop/pdf/ObjectStreamManagerTestCase.java | 113 +++++ .../apache/fop/pdf/ObjectStreamTestCase.java | 131 ++++++ .../fop/pdf/PDFEncryptionJCETestCase.java | 2 - .../apache/fop/pdf/PDFFilterListTestCase.java | 33 ++ .../apache/fop/pdf/PDFLibraryTestSuite.java | 4 +- .../org/apache/fop/pdf/PDFObjectTestCase.java | 9 +- .../org/apache/fop/pdf/PDFStreamTestCase.java | 126 ++++++ .../CompressedObjectReferenceTestCase.java | 50 +++ .../pdf/xref/CrossReferenceObjectTest.java | 106 +++++ .../xref/CrossReferenceStreamTestCase.java | 142 +++++++ .../pdf/xref/CrossReferenceTableTestCase.java | 80 ++++ .../fop/pdf/xref/ObjectReferenceTest.java | 62 +++ .../UncompressedObjectReferenceTestCase.java | 90 ++++ test/pdf/1.5/fop.xconf | 24 ++ test/pdf/1.5/test.fo | 207 ++++++++++ test/pdf/1.5/test.pdf | Bin 0 -> 94918 bytes test/{ => pdf}/accessibility/README | 0 .../background-image_jpg_repeat.fo | 2 +- .../background-image_jpg_single.fo | 2 +- .../background-image_png_repeat.fo | 2 +- .../background-image_png_single.fo | 2 +- .../background-image_svg_repeat.fo | 2 +- .../background-image_svg_single.fo | 2 +- test/{ => pdf}/accessibility/complete.fo | 2 +- test/{ => pdf}/accessibility/fop.xconf | 2 +- test/{ => pdf}/accessibility/image_jpg.fo | 2 +- test/{ => pdf}/accessibility/image_png.fo | 2 +- test/{ => pdf}/accessibility/image_svg.fo | 2 +- test/{ => pdf}/accessibility/image_wmf.fo | 2 +- test/{ => pdf}/accessibility/leader.fo | 2 +- test/{ => pdf}/accessibility/links.fo | 0 .../pdf/background-image_jpg_repeat.pdf | Bin 12806 -> 12814 bytes .../pdf/background-image_jpg_single.pdf | Bin 12645 -> 12653 bytes .../pdf/background-image_png_repeat.pdf | Bin 35429 -> 35437 bytes .../pdf/background-image_png_single.pdf | Bin 0 -> 58648 bytes .../pdf/background-image_svg_repeat.pdf | Bin 17096 -> 17056 bytes .../pdf/background-image_svg_single.pdf | Bin 9935 -> 9931 bytes test/pdf/accessibility/pdf/complete.pdf | Bin 0 -> 97061 bytes .../{ => pdf}/accessibility/pdf/image_jpg.pdf | Bin 9070 -> 9078 bytes test/pdf/accessibility/pdf/image_png.pdf | Bin 0 -> 58119 bytes .../{ => pdf}/accessibility/pdf/image_svg.pdf | Bin 14284 -> 14260 bytes test/pdf/accessibility/pdf/image_wmf.pdf | Bin 0 -> 248229 bytes test/{ => pdf}/accessibility/pdf/leader.pdf | Bin 9371 -> 9379 bytes test/{ => pdf}/accessibility/pdf/links.pdf | Bin 9704 -> 9712 bytes test/{ => pdf}/accessibility/pdf/role.pdf | Bin 18968 -> 18976 bytes .../accessibility/pdf/role_non-standard.pdf | Bin 18982 -> 18990 bytes test/{ => pdf}/accessibility/pdf/text_1.pdf | Bin 7496 -> 7504 bytes test/{ => pdf}/accessibility/pdf/text_2.pdf | Bin 10338 -> 10346 bytes .../accessibility/pdf/text_font-embedding.pdf | Bin 19777 -> 19741 bytes test/{ => pdf}/accessibility/role.fo | 0 .../accessibility/role_non-standard.fo | 0 test/{ => pdf}/accessibility/text_1.fo | 0 test/{ => pdf}/accessibility/text_2.fo | 0 .../accessibility/text_font-embedding.fo | 0 117 files changed, 2239 insertions(+), 427 deletions(-) create mode 100644 src/java/org/apache/fop/pdf/CompressedObject.java create mode 100644 src/java/org/apache/fop/pdf/ObjectStream.java create mode 100644 src/java/org/apache/fop/pdf/ObjectStreamManager.java create mode 100644 src/java/org/apache/fop/pdf/xref/CompressedObjectReference.java create mode 100644 src/java/org/apache/fop/pdf/xref/CrossReferenceObject.java create mode 100644 src/java/org/apache/fop/pdf/xref/CrossReferenceStream.java create mode 100644 src/java/org/apache/fop/pdf/xref/CrossReferenceTable.java create mode 100644 src/java/org/apache/fop/pdf/xref/ObjectReference.java create mode 100644 src/java/org/apache/fop/pdf/xref/TrailerDictionary.java create mode 100644 src/java/org/apache/fop/pdf/xref/UncompressedObjectReference.java delete mode 100644 test/accessibility/pdf/background-image_png_single.pdf delete mode 100644 test/accessibility/pdf/complete.pdf delete mode 100644 test/accessibility/pdf/image_png.pdf delete mode 100644 test/accessibility/pdf/image_wmf.pdf create mode 100644 test/java/org/apache/fop/pdf/ObjectStreamManagerTestCase.java create mode 100644 test/java/org/apache/fop/pdf/ObjectStreamTestCase.java create mode 100644 test/java/org/apache/fop/pdf/PDFFilterListTestCase.java create mode 100644 test/java/org/apache/fop/pdf/PDFStreamTestCase.java create mode 100644 test/java/org/apache/fop/pdf/xref/CompressedObjectReferenceTestCase.java create mode 100644 test/java/org/apache/fop/pdf/xref/CrossReferenceObjectTest.java create mode 100644 test/java/org/apache/fop/pdf/xref/CrossReferenceStreamTestCase.java create mode 100644 test/java/org/apache/fop/pdf/xref/CrossReferenceTableTestCase.java create mode 100644 test/java/org/apache/fop/pdf/xref/ObjectReferenceTest.java create mode 100644 test/java/org/apache/fop/pdf/xref/UncompressedObjectReferenceTestCase.java create mode 100644 test/pdf/1.5/fop.xconf create mode 100644 test/pdf/1.5/test.fo create mode 100644 test/pdf/1.5/test.pdf rename test/{ => pdf}/accessibility/README (100%) rename test/{ => pdf}/accessibility/background-image_jpg_repeat.fo (95%) rename test/{ => pdf}/accessibility/background-image_jpg_single.fo (95%) rename test/{ => pdf}/accessibility/background-image_png_repeat.fo (95%) rename test/{ => pdf}/accessibility/background-image_png_single.fo (94%) rename test/{ => pdf}/accessibility/background-image_svg_repeat.fo (95%) rename test/{ => pdf}/accessibility/background-image_svg_single.fo (95%) rename test/{ => pdf}/accessibility/complete.fo (99%) rename test/{ => pdf}/accessibility/fop.xconf (92%) rename test/{ => pdf}/accessibility/image_jpg.fo (97%) rename test/{ => pdf}/accessibility/image_png.fo (96%) rename test/{ => pdf}/accessibility/image_svg.fo (97%) rename test/{ => pdf}/accessibility/image_wmf.fo (96%) rename test/{ => pdf}/accessibility/leader.fo (95%) rename test/{ => pdf}/accessibility/links.fo (100%) rename test/{ => pdf}/accessibility/pdf/background-image_jpg_repeat.pdf (96%) rename test/{ => pdf}/accessibility/pdf/background-image_jpg_single.pdf (96%) rename test/{ => pdf}/accessibility/pdf/background-image_png_repeat.pdf (98%) create mode 100644 test/pdf/accessibility/pdf/background-image_png_single.pdf rename test/{ => pdf}/accessibility/pdf/background-image_svg_repeat.pdf (96%) rename test/{ => pdf}/accessibility/pdf/background-image_svg_single.pdf (94%) create mode 100644 test/pdf/accessibility/pdf/complete.pdf rename test/{ => pdf}/accessibility/pdf/image_jpg.pdf (94%) create mode 100644 test/pdf/accessibility/pdf/image_png.pdf rename test/{ => pdf}/accessibility/pdf/image_svg.pdf (95%) create mode 100644 test/pdf/accessibility/pdf/image_wmf.pdf rename test/{ => pdf}/accessibility/pdf/leader.pdf (95%) rename test/{ => pdf}/accessibility/pdf/links.pdf (94%) rename test/{ => pdf}/accessibility/pdf/role.pdf (94%) rename test/{ => pdf}/accessibility/pdf/role_non-standard.pdf (94%) rename test/{ => pdf}/accessibility/pdf/text_1.pdf (94%) rename test/{ => pdf}/accessibility/pdf/text_2.pdf (95%) rename test/{ => pdf}/accessibility/pdf/text_font-embedding.pdf (93%) rename test/{ => pdf}/accessibility/role.fo (100%) rename test/{ => pdf}/accessibility/role_non-standard.fo (100%) rename test/{ => pdf}/accessibility/text_1.fo (100%) rename test/{ => pdf}/accessibility/text_2.fo (100%) rename test/{ => pdf}/accessibility/text_font-embedding.fo (100%) diff --git a/src/java/org/apache/fop/pdf/AbstractPDFStream.java b/src/java/org/apache/fop/pdf/AbstractPDFStream.java index 1b25c113f..0181728b8 100644 --- a/src/java/org/apache/fop/pdf/AbstractPDFStream.java +++ b/src/java/org/apache/fop/pdf/AbstractPDFStream.java @@ -29,16 +29,48 @@ import org.apache.fop.util.CloseBlockerOutputStream; /** * This is an abstract base class for PDF streams. */ -public abstract class AbstractPDFStream extends PDFDictionary { +public abstract class AbstractPDFStream extends PDFObject { + + private final PDFDictionary dictionary; /** The filters that should be applied */ private PDFFilterList filters; + private final boolean encodeOnTheFly; + + protected AbstractPDFStream() { + this(true); + } + + protected AbstractPDFStream(PDFDictionary dictionary) { + this(dictionary, true); + } + + protected AbstractPDFStream(boolean encodeOnTheFly) { + this(new PDFDictionary(), encodeOnTheFly); + } + + protected AbstractPDFStream(PDFDictionary dictionary, boolean encodeOnTheFly) { + this.dictionary = dictionary; + this.encodeOnTheFly = encodeOnTheFly; + } + + protected final PDFDictionary getDictionary() { + return dictionary; + } + + protected Object get(String key) { + return dictionary.get(key); + } + /** - * Constructor for AbstractPDFStream. + * Puts the given object in the dictionary associated to this stream. + * + * @param key the key in the dictionary + * @param value the value to store */ - public AbstractPDFStream() { - super(); + public void put(String key, Object value) { + dictionary.put(key, value); } /** @@ -180,17 +212,16 @@ public abstract class AbstractPDFStream extends PDFDictionary { * {@inheritDoc} */ @Override - protected int output(OutputStream stream) throws IOException { + public int output(OutputStream stream) throws IOException { setupFilterList(); CountingOutputStream cout = new CountingOutputStream(stream); StringBuilder textBuffer = new StringBuilder(64); - textBuffer.append(getObjectID()); StreamCache encodedStream = null; PDFNumber refLength = null; final Object lengthEntry; - if (isEncodingOnTheFly()) { + if (encodeOnTheFly) { refLength = new PDFNumber(); getDocumentSafely().registerObject(refLength); lengthEntry = refLength; @@ -200,7 +231,7 @@ public abstract class AbstractPDFStream extends PDFDictionary { } populateStreamDict(lengthEntry); - writeDictionary(cout, textBuffer); + dictionary.writeDictionary(cout, textBuffer); //Send encoded stream to target OutputStream PDFDocument.flushTextBuffer(textBuffer, cout); @@ -211,18 +242,14 @@ public abstract class AbstractPDFStream extends PDFDictionary { encodedStream.clear(); //Encoded stream can now be discarded } - textBuffer.append("\nendobj\n"); PDFDocument.flushTextBuffer(textBuffer, cout); return cout.getCount(); } - /** - * Indicates whether encoding may happen without buffering the encoded data. If this method - * returns true, the /Length entry will be an indirect object, a direct object otherwise. - * @return true if encoding should happen "on the fly" - */ - protected boolean isEncodingOnTheFly() { - return getDocument().isEncodingOnTheFly(); + @Override + public void setDocument(PDFDocument doc) { + dictionary.setDocument(doc); + super.setDocument(doc); } /** @@ -233,7 +260,7 @@ public abstract class AbstractPDFStream extends PDFDictionary { protected void populateStreamDict(Object lengthEntry) { put("Length", lengthEntry); if (!getFilterList().isDisableAllFilters()) { - getFilterList().putFilterDictEntries(this); + getFilterList().putFilterDictEntries(dictionary); } } diff --git a/src/java/org/apache/fop/pdf/CompressedObject.java b/src/java/org/apache/fop/pdf/CompressedObject.java new file mode 100644 index 000000000..55d9c2953 --- /dev/null +++ b/src/java/org/apache/fop/pdf/CompressedObject.java @@ -0,0 +1,49 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ + +package org.apache.fop.pdf; + +import java.io.IOException; +import java.io.OutputStream; + +/** + * Represents a PDF object that may appear in an object stream. An object stream is a PDF + * stream whose content is a sequence of PDF objects. See Section 3.4.6 of the PDF 1.5 + * Reference. + */ +interface CompressedObject { + + /** + * Returns the object number of this indirect object. Note that a compressed object + * must have a generation number of 0. + * + * @return the object number. + */ + int getObjectNumber(); + + /** + * Outputs this object's content into the given stream. + * + * @param outputStream a stream, likely to be provided by the containing object stream + * @return the number of bytes written to the stream + * @throws IOException + */ + int output(OutputStream outputStream) throws IOException; + +} diff --git a/src/java/org/apache/fop/pdf/ObjectStream.java b/src/java/org/apache/fop/pdf/ObjectStream.java new file mode 100644 index 000000000..e9335bc6f --- /dev/null +++ b/src/java/org/apache/fop/pdf/ObjectStream.java @@ -0,0 +1,85 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ + +package org.apache.fop.pdf; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.List; + +import org.apache.fop.pdf.xref.CompressedObjectReference; + +/** + * An object stream, as described in section 3.4.6 of the PDF 1.5 Reference. + */ +public class ObjectStream extends PDFStream { + + private static final PDFName OBJ_STM = new PDFName("ObjStm"); + + private List objects = new ArrayList(); + + private int firstObjectOffset; + + ObjectStream() { + super(false); + } + + ObjectStream(ObjectStream previous) { + this(); + put("Extends", previous); + } + + CompressedObjectReference addObject(CompressedObject obj) { + if (obj == null) { + throw new NullPointerException("obj must not be null"); + } + CompressedObjectReference reference = new CompressedObjectReference(obj.getObjectNumber(), + getObjectNumber(), objects.size()); + objects.add(obj); + return reference; + } + + @Override + protected void outputRawStreamData(OutputStream out) throws IOException { + int currentOffset = 0; + StringBuilder offsetsPart = new StringBuilder(); + ByteArrayOutputStream streamContent = new ByteArrayOutputStream(); + for (CompressedObject object : objects) { + offsetsPart.append(object.getObjectNumber()) + .append(' ') + .append(currentOffset) + .append('\n'); + currentOffset += object.output(streamContent); + } + byte[] offsets = PDFDocument.encode(offsetsPart.toString()); + firstObjectOffset = offsets.length; + out.write(offsets); + streamContent.writeTo(out); + } + + @Override + protected void populateStreamDict(Object lengthEntry) { + put("Type", OBJ_STM); + put("N", objects.size()); + put("First", firstObjectOffset); + super.populateStreamDict(lengthEntry); + } +} diff --git a/src/java/org/apache/fop/pdf/ObjectStreamManager.java b/src/java/org/apache/fop/pdf/ObjectStreamManager.java new file mode 100644 index 000000000..723facd96 --- /dev/null +++ b/src/java/org/apache/fop/pdf/ObjectStreamManager.java @@ -0,0 +1,69 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ + +package org.apache.fop.pdf; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.fop.pdf.xref.CompressedObjectReference; + +/** + * Manages a collection of object streams, creating new streams as necessary to keep the + * number of objects in each stream at the recommended value. Streams are related to each + * other through the use of the Extends entry in the stream dictionary. + */ +class ObjectStreamManager { + + private static final int OBJECT_STREAM_CAPACITY = 100; + + private final PDFDocument pdfDocument; + + private final List compressedObjectReferences; + + private int numObjectsInStream; + + private ObjectStream currentObjectStream; + + ObjectStreamManager(PDFDocument pdfDocument) { + this.pdfDocument = pdfDocument; + createObjectStream(); + compressedObjectReferences = new ArrayList(); + } + + void add(CompressedObject compressedObject) { + if (numObjectsInStream++ == OBJECT_STREAM_CAPACITY) { + createObjectStream(); + numObjectsInStream = 1; + } + compressedObjectReferences.add(currentObjectStream.addObject(compressedObject)); + } + + private void createObjectStream() { + currentObjectStream = currentObjectStream == null + ? new ObjectStream() + : new ObjectStream(currentObjectStream); + pdfDocument.assignObjectNumber(currentObjectStream); + pdfDocument.addTrailerObject(currentObjectStream); + } + + List getCompressedObjectReferences() { + return compressedObjectReferences; + } +} diff --git a/src/java/org/apache/fop/pdf/PDFAnnotList.java b/src/java/org/apache/fop/pdf/PDFAnnotList.java index 0a8710627..65b327e31 100644 --- a/src/java/org/apache/fop/pdf/PDFAnnotList.java +++ b/src/java/org/apache/fop/pdf/PDFAnnotList.java @@ -58,22 +58,19 @@ public class PDFAnnotList extends PDFObject { */ public String toPDFString() { StringBuffer p = new StringBuffer(128); - p.append(getObjectID()); p.append("[\n"); for (int i = 0; i < getCount(); i++) { p.append(((PDFObject)links.get(i)).referencePDF()); p.append("\n"); } - p.append("]\nendobj\n"); + p.append("]"); return p.toString(); } /* * example - * 20 0 obj * [ * 19 0 R * ] - * endobj */ } diff --git a/src/java/org/apache/fop/pdf/PDFArray.java b/src/java/org/apache/fop/pdf/PDFArray.java index 78eba3bb9..131830328 100644 --- a/src/java/org/apache/fop/pdf/PDFArray.java +++ b/src/java/org/apache/fop/pdf/PDFArray.java @@ -21,7 +21,6 @@ package org.apache.fop.pdf; import java.io.IOException; import java.io.OutputStream; -import java.util.Collection; import java.util.List; import org.apache.commons.io.output.CountingOutputStream; @@ -48,7 +47,7 @@ public class PDFArray extends PDFObject { * Create a new, empty array object with no parent. */ public PDFArray() { - this(null); + this((PDFObject) null); } /** @@ -84,13 +83,22 @@ public class PDFArray extends PDFObject { * @param parent the array's parent if any * @param values the actual values wrapped by this object */ - public PDFArray(PDFObject parent, Collection values) { + public PDFArray(PDFObject parent, List values) { /* generic creation of PDF object */ super(parent); this.values.addAll(values); } + /** + * Creates an array object made of the given elements. + * + * @param elements the array content + */ + public PDFArray(Object... elements) { + this(null, elements); + } + /** * Create the array object * @param parent the array's parent if any @@ -180,13 +188,9 @@ public class PDFArray extends PDFObject { /** {@inheritDoc} */ @Override - protected int output(OutputStream stream) throws IOException { + public int output(OutputStream stream) throws IOException { CountingOutputStream cout = new CountingOutputStream(stream); StringBuilder textBuffer = new StringBuilder(64); - if (hasObjectNumber()) { - textBuffer.append(getObjectID()); - } - textBuffer.append('['); for (int i = 0; i < values.size(); i++) { if (i > 0) { @@ -196,11 +200,6 @@ public class PDFArray extends PDFObject { formatObject(obj, cout, textBuffer); } textBuffer.append(']'); - - if (hasObjectNumber()) { - textBuffer.append("\nendobj\n"); - } - PDFDocument.flushTextBuffer(textBuffer, cout); return cout.getCount(); } diff --git a/src/java/org/apache/fop/pdf/PDFCIDFont.java b/src/java/org/apache/fop/pdf/PDFCIDFont.java index 459fe2584..46374d869 100644 --- a/src/java/org/apache/fop/pdf/PDFCIDFont.java +++ b/src/java/org/apache/fop/pdf/PDFCIDFont.java @@ -200,7 +200,6 @@ public class PDFCIDFont extends PDFObject { */ public String toPDFString() { StringBuffer p = new StringBuffer(128); - p.append(getObjectID()); p.append("<< /Type /Font"); p.append("\n/BaseFont /"); p.append(this.basefont); @@ -234,14 +233,13 @@ public class PDFCIDFont extends PDFObject { p.append("\n/DW2 ["); // always two values, see p 211 p.append(this.dw2[0]); p.append(this.dw2[1]); - p.append("] \n>>\nendobj\n"); + p.append("]"); } if (w2 != null) { p.append("\n/W2 "); p.append(w2.toPDFString()); - p.append(" \n>>\nendobj\n"); } - p.append(" \n>>\nendobj\n"); + p.append("\n>>"); return p.toString(); } diff --git a/src/java/org/apache/fop/pdf/PDFCMap.java b/src/java/org/apache/fop/pdf/PDFCMap.java index 57d148fc2..34bc0f952 100644 --- a/src/java/org/apache/fop/pdf/PDFCMap.java +++ b/src/java/org/apache/fop/pdf/PDFCMap.java @@ -423,7 +423,7 @@ public class PDFCMap extends PDFStream { } /** {@inheritDoc} */ - protected int output(OutputStream stream) throws IOException { + public int output(OutputStream stream) throws IOException { CMapBuilder builder = createCMapBuilder(getBufferWriter()); builder.writeCMap(); return super.output(stream); diff --git a/src/java/org/apache/fop/pdf/PDFDestination.java b/src/java/org/apache/fop/pdf/PDFDestination.java index 400c4a4b6..21c655832 100644 --- a/src/java/org/apache/fop/pdf/PDFDestination.java +++ b/src/java/org/apache/fop/pdf/PDFDestination.java @@ -50,9 +50,8 @@ public class PDFDestination extends PDFObject { this.idRef = idRef; } - /** {@inheritDoc} */ @Override - protected int output(OutputStream stream) throws IOException { + public int output(OutputStream stream) throws IOException { CountingOutputStream cout = new CountingOutputStream(stream); StringBuilder textBuffer = new StringBuilder(64); diff --git a/src/java/org/apache/fop/pdf/PDFDictionary.java b/src/java/org/apache/fop/pdf/PDFDictionary.java index 5a6724304..6bacd31a3 100644 --- a/src/java/org/apache/fop/pdf/PDFDictionary.java +++ b/src/java/org/apache/fop/pdf/PDFDictionary.java @@ -98,19 +98,10 @@ public class PDFDictionary extends PDFObject { /** {@inheritDoc} */ @Override - protected int output(OutputStream stream) throws IOException { + public int output(OutputStream stream) throws IOException { CountingOutputStream cout = new CountingOutputStream(stream); StringBuilder textBuffer = new StringBuilder(64); - if (hasObjectNumber()) { - textBuffer.append(getObjectID()); - } - writeDictionary(cout, textBuffer); - - if (hasObjectNumber()) { - textBuffer.append("\nendobj\n"); - } - PDFDocument.flushTextBuffer(textBuffer, cout); return cout.getCount(); } diff --git a/src/java/org/apache/fop/pdf/PDFDocument.java b/src/java/org/apache/fop/pdf/PDFDocument.java index e9886fc37..9850c605e 100644 --- a/src/java/org/apache/fop/pdf/PDFDocument.java +++ b/src/java/org/apache/fop/pdf/PDFDocument.java @@ -26,6 +26,7 @@ import java.io.OutputStream; import java.io.UnsupportedEncodingException; import java.security.NoSuchAlgorithmException; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.Date; import java.util.HashMap; @@ -37,6 +38,10 @@ import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.fop.pdf.xref.CrossReferenceStream; +import org.apache.fop.pdf.xref.CrossReferenceTable; +import org.apache.fop.pdf.xref.TrailerDictionary; + /* image support modified from work of BoBoGi */ /* font support based on work by Takayuki Takeuchi */ @@ -63,31 +68,28 @@ import org.apache.commons.logging.LogFactory; */ public class PDFDocument { - private static final Long LOCATION_PLACEHOLDER = new Long(0); - /** the encoding to use when converting strings to PDF commands */ public static final String ENCODING = "ISO-8859-1"; /** the counter for object numbering */ - protected int objectcount = 0; + protected int objectcount; /** the logger instance */ private Log log = LogFactory.getLog("org.apache.fop.pdf"); /** the current character position */ - private long position = 0; - - /** character position of xref table */ - private long xref; + private long position; /** the character position of each object */ - private List location = new ArrayList(); + private List indirectObjectOffsets = new ArrayList(); + + private Collection structureTreeElements; /** List of objects to write in the trailer */ - private List trailerObjects = new ArrayList(); + private List trailerObjects = new ArrayList(); /** the objects themselves */ - private List objects = new LinkedList(); + private List objects = new LinkedList(); /** Controls the PDF version of this document */ private VersionController versionController; @@ -99,7 +101,7 @@ public class PDFDocument { private PDFRoot root; /** The root outline object */ - private PDFOutline outlineRoot = null; + private PDFOutline outlineRoot; /** The /Pages object (mark-fop@inomial.com) */ private PDFPages pages; @@ -118,66 +120,47 @@ public class PDFDocument { = new PDFDeviceColorSpace(PDFDeviceColorSpace.DEVICE_RGB); /** the counter for Pattern name numbering (e.g. 'Pattern1') */ - private int patternCount = 0; + private int patternCount; /** the counter for Shading name numbering */ - private int shadingCount = 0; + private int shadingCount; /** the counter for XObject numbering */ - private int xObjectCount = 0; + private int xObjectCount; - /** the {@link PDFXObject}s map */ /* TODO: Should be modified (works only for image subtype) */ - private Map xObjectsMap = new HashMap(); - - /** The {@link PDFFont} map */ - private Map fontMap = new HashMap(); + private Map xObjectsMap = new HashMap(); - /** The {@link PDFFilter} map */ - private Map filterMap = new HashMap(); + private Map fontMap = new HashMap(); - /** List of {@link PDFGState}s. */ - private List gstates = new ArrayList(); + private Map> filterMap = new HashMap>(); - /** List of {@link PDFFunction}s. */ - private List functions = new ArrayList(); + private List gstates = new ArrayList(); - /** List of {@link PDFShading}s. */ - private List shadings = new ArrayList(); + private List functions = new ArrayList(); - /** List of {@link PDFPattern}s. */ - private List patterns = new ArrayList(); + private List shadings = new ArrayList(); - /** List of {@link PDFLink}s. */ - private List links = new ArrayList(); + private List patterns = new ArrayList(); - /** List of {@link PDFDestination}s. */ - private List destinations; + private List links = new ArrayList(); - /** List of {@link PDFFileSpec}s. */ - private List filespecs = new ArrayList(); + private List destinations; - /** List of {@link PDFGoToRemote}s. */ - private List gotoremotes = new ArrayList(); + private List filespecs = new ArrayList(); - /** List of {@link PDFGoTo}s. */ - private List gotos = new ArrayList(); + private List gotoremotes = new ArrayList(); - /** List of {@link PDFLaunch}es. */ - private List launches = new ArrayList(); + private List gotos = new ArrayList(); - /** - * The PDFDests object for the name dictionary. - * Note: This object is not a list. - */ - private PDFDests dests; + private List launches = new ArrayList(); private PDFFactory factory; - private boolean encodingOnTheFly = true; - private FileIDGenerator fileIDGenerator; + private boolean accessibilityEnabled; + /** * Creates an empty PDF document. * @@ -265,17 +248,6 @@ public class PDFDocument { return this.factory; } - /** - * Indicates whether stream encoding on-the-fly is enabled. If enabled - * stream can be serialized without the need for a buffer to merely - * calculate the stream length. - * - * @return true if on-the-fly encoding is enabled - */ - public boolean isEncodingOnTheFly() { - return this.encodingOnTheFly; - } - /** * Converts text to a byte array for writing to a PDF file. * @@ -336,7 +308,7 @@ public class PDFDocument { * * @param map the map of filter lists for each stream type */ - public void setFilterMap(Map map) { + public void setFilterMap(Map> map) { this.filterMap = map; } @@ -345,7 +317,7 @@ public class PDFDocument { * * @return the map of filters being used */ - public Map getFilterMap() { + public Map> getFilterMap() { return this.filterMap; } @@ -367,6 +339,37 @@ public class PDFDocument { return this.root; } + /** + * Creates and returns a StructTreeRoot object. + * + * @param parentTree the value of the ParenTree entry + * @return the structure tree root + */ + public PDFStructTreeRoot makeStructTreeRoot(PDFParentTree parentTree) { + PDFStructTreeRoot structTreeRoot = new PDFStructTreeRoot(parentTree); + assignObjectNumber(structTreeRoot); + addTrailerObject(structTreeRoot); + root.setStructTreeRoot(structTreeRoot); + structureTreeElements = new ArrayList(); + return structTreeRoot; + } + + /** + * Creates and returns a structure element. + * + * @param structureType the structure type of the new element (value for the + * S entry) + * @param parent the parent of the new structure element in the structure + * hierarchy + * @return a dictionary of type StructElem + */ + public PDFStructElem makeStructureElement(PDFName structureType, PDFObject parent) { + PDFStructElem structElem = new PDFStructElem(parent, structureType); + assignObjectNumber(structElem); + structureTreeElements.add(structElem); + return structElem; + } + /** * Get the {@link PDFInfo} object for this document. * @@ -439,39 +442,39 @@ public class PDFDocument { //Add object to special lists where necessary if (obj instanceof PDFFunction) { - this.functions.add(obj); + this.functions.add((PDFFunction) obj); } if (obj instanceof PDFShading) { final String shadingName = "Sh" + (++this.shadingCount); ((PDFShading)obj).setName(shadingName); - this.shadings.add(obj); + this.shadings.add((PDFShading) obj); } if (obj instanceof PDFPattern) { final String patternName = "Pa" + (++this.patternCount); ((PDFPattern)obj).setName(patternName); - this.patterns.add(obj); + this.patterns.add((PDFPattern) obj); } if (obj instanceof PDFFont) { final PDFFont font = (PDFFont)obj; this.fontMap.put(font.getName(), font); } if (obj instanceof PDFGState) { - this.gstates.add(obj); + this.gstates.add((PDFGState) obj); } if (obj instanceof PDFPage) { this.pages.notifyKidRegistered((PDFPage)obj); } if (obj instanceof PDFLaunch) { - this.launches.add(obj); + this.launches.add((PDFLaunch) obj); } if (obj instanceof PDFLink) { - this.links.add(obj); + this.links.add((PDFLink) obj); } if (obj instanceof PDFFileSpec) { - this.filespecs.add(obj); + this.filespecs.add((PDFFileSpec) obj); } if (obj instanceof PDFGoToRemote) { - this.gotoremotes.add(obj); + this.gotoremotes.add((PDFGoToRemote) obj); } } @@ -485,7 +488,7 @@ public class PDFDocument { this.trailerObjects.add(obj); if (obj instanceof PDFGoTo) { - this.gotos.add(obj); + this.gotos.add((PDFGoTo) obj); } } @@ -537,9 +540,8 @@ public class PDFDocument { return this.encryption; } - private Object findPDFObject(List list, PDFObject compare) { - for (Iterator iter = list.iterator(); iter.hasNext();) { - PDFObject obj = (PDFObject) iter.next(); + private Object findPDFObject(List list, PDFObject compare) { + for (PDFObject obj : list) { if (compare.contentEquals(obj)) { return obj; } @@ -589,7 +591,7 @@ public class PDFDocument { * @return PDFFont the requested font, null if it wasn't found */ protected PDFFont findFont(String fontname) { - return (PDFFont)this.fontMap.get(fontname); + return this.fontMap.get(fontname); } /** @@ -601,7 +603,7 @@ public class PDFDocument { protected PDFDestination findDestination(PDFDestination compare) { int index = getDestinationList().indexOf(compare); if (index >= 0) { - return (PDFDestination)getDestinationList().get(index); + return getDestinationList().get(index); } else { return null; } @@ -666,9 +668,9 @@ public class PDFDocument { */ protected PDFGState findGState(PDFGState wanted, PDFGState current) { PDFGState poss; - Iterator iter = this.gstates.iterator(); + Iterator iter = this.gstates.iterator(); while (iter.hasNext()) { - PDFGState avail = (PDFGState)iter.next(); + PDFGState avail = iter.next(); poss = new PDFGState(); poss.addValues(current); poss.addValues(avail); @@ -712,7 +714,7 @@ public class PDFDocument { * * @return the map of fonts used in this document */ - public Map getFontMap() { + public Map getFontMap() { return this.fontMap; } @@ -753,16 +755,7 @@ public class PDFDocument { * @return the PDFXObject for the key if found */ public PDFXObject getXObject(String key) { - return (PDFXObject)this.xObjectsMap.get(key); - } - - /** - * Gets the PDFDests object (which represents the /Dests entry). - * - * @return the PDFDests object (which represents the /Dests entry). - */ - public PDFDests getDests() { - return this.dests; + return this.xObjectsMap.get(key); } /** @@ -771,7 +764,7 @@ public class PDFDocument { */ public void addDestination(PDFDestination destination) { if (this.destinations == null) { - this.destinations = new ArrayList(); + this.destinations = new ArrayList(); } this.destinations.add(destination); } @@ -781,11 +774,11 @@ public class PDFDocument { * * @return the list of named destinations. */ - public List getDestinationList() { + public List getDestinationList() { if (hasDestinations()) { return this.destinations; } else { - return Collections.EMPTY_LIST; + return Collections.emptyList(); } } @@ -900,17 +893,8 @@ public class PDFDocument { return this.resources; } - /** - * Ensure there is room in the locations xref for the number of - * objects that have been created. - * @param objidx the object's index - * @param position the position - */ - private void setLocation(int objidx, long position) { - while (this.location.size() <= objidx) { - this.location.add(LOCATION_PLACEHOLDER); - } - this.location.set(objidx, position); + public void enableAccessibility(boolean enableAccessibility) { + this.accessibilityEnabled = enableAccessibility; } /** @@ -924,23 +908,50 @@ public class PDFDocument { //LinkedList) allows for output() methods to create and register objects //on the fly even during serialization. while (this.objects.size() > 0) { - /* Retrieve first */ - PDFObject object = (PDFObject)this.objects.remove(0); - /* - * add the position of this object to the list of object - * locations - */ - setLocation(object.getObjectNumber() - 1, this.position); - - /* - * output the object and increment the character position - * by the object's length - */ - this.position += object.output(stream); + PDFObject object = this.objects.remove(0); + streamIndirectObject(object, stream); } + } - //Clear all objects written to the file - //this.objects.clear(); + private void streamIndirectObject(PDFObject o, OutputStream stream) throws IOException { + recordObjectOffset(o); + this.position += outputIndirectObject(o, stream); + } + + private void streamIndirectObjects(Collection objects, OutputStream stream) + throws IOException { + for (PDFObject o : objects) { + streamIndirectObject(o, stream); + } + } + + private void recordObjectOffset(PDFObject object) { + int index = object.getObjectNumber() - 1; + while (indirectObjectOffsets.size() <= index) { + indirectObjectOffsets.add(null); + } + indirectObjectOffsets.set(index, position); + } + + /** + * Outputs the given object, wrapped by obj/endobj, to the given stream. + * + * @param object an indirect object, as described in Section 3.2.9 of the PDF 1.5 + * Reference. + * @param stream the stream to which the object must be output + * @throws IllegalArgumentException if the object is not an indirect object + */ + public static int outputIndirectObject(PDFObject object, OutputStream stream) + throws IOException { + if (!object.hasObjectNumber()) { + throw new IllegalArgumentException("Not an indirect object"); + } + byte[] obj = encode(object.getObjectID()); + stream.write(obj); + int length = object.output(stream); + byte[] endobj = encode("\nendobj\n"); + stream.write(endobj); + return obj.length + length + endobj.length; } /** @@ -980,89 +991,102 @@ public class PDFDocument { * @throws IOException if there is an exception writing to the output stream */ public void outputTrailer(OutputStream stream) throws IOException { + createDestinations(); + output(stream); + outputTrailerObjectsAndXref(stream); + } + + private void createDestinations() { if (hasDestinations()) { Collections.sort(this.destinations, new DestinationComparator()); - this.dests = getFactory().makeDests(this.destinations); + PDFDests dests = getFactory().makeDests(this.destinations); if (this.root.getNames() == null) { this.root.setNames(getFactory().makeNames()); } this.root.getNames().setDests(dests); } - output(stream); - for (int count = 0; count < this.trailerObjects.size(); count++) { - PDFObject o = (PDFObject)this.trailerObjects.get(count); - setLocation(o.getObjectNumber() - 1, this.position); - this.position += o.output(stream); + } + + private void outputTrailerObjectsAndXref(OutputStream stream) throws IOException { + TrailerOutputHelper trailerOutputHelper = mayCompressStructureTreeElements() + ? new CompressedTrailerOutputHelper() + : new UncompressedTrailerOutputHelper(); + if (structureTreeElements != null) { + trailerOutputHelper.outputStructureTreeElements(stream); } - /* output the xref table and increment the character position - by the table's length */ - this.position += outputXref(stream); - - /* construct the trailer */ - StringBuffer pdf = new StringBuffer(128); - pdf.append("trailer\n<<\n/Size ") - .append(this.objectcount + 1) - .append("\n/Root ") - .append(this.root.referencePDF()) - .append("\n/Info ") - .append(this.info.referencePDF()) - .append('\n'); - - if (this.isEncryptionActive()) { - pdf.append(this.encryption.getTrailerEntry()); - } else { - byte[] fileID = getFileIDGenerator().getOriginalFileID(); - String fileIDAsString = PDFText.toHex(fileID); - pdf.append("/ID [" + fileIDAsString + " " + fileIDAsString + "]"); + streamIndirectObjects(trailerObjects, stream); + TrailerDictionary trailerDictionary = createTrailerDictionary(); + long startxref = trailerOutputHelper.outputCrossReferenceObject(stream, trailerDictionary); + String trailer = "startxref\n" + startxref + "\n%%EOF\n"; + stream.write(encode(trailer)); + } + + private boolean mayCompressStructureTreeElements() { + return accessibilityEnabled + && versionController.getPDFVersion().compareTo(Version.V1_5) >= 0; + } + + private TrailerDictionary createTrailerDictionary() { + FileIDGenerator gen = getFileIDGenerator(); + TrailerDictionary trailerDictionary = new TrailerDictionary(this) + .setRoot(root) + .setInfo(info) + .setFileID(gen.getOriginalFileID(), gen.getUpdatedFileID()); + if (isEncryptionActive()) { + trailerDictionary.setEncryption(encryption); } + return trailerDictionary; + } - pdf.append("\n>>\nstartxref\n") - .append(this.xref) - .append("\n%%EOF\n"); + private interface TrailerOutputHelper { - /* write the trailer */ - stream.write(encode(pdf.toString())); + void outputStructureTreeElements(OutputStream stream) throws IOException; + + /** + * @return the offset of the cross-reference object (the value of startxref) + */ + long outputCrossReferenceObject(OutputStream stream, TrailerDictionary trailerDictionary) + throws IOException; } - /** - * Write the xref table - * - * @param stream the OutputStream to write the xref table to - * @return the number of characters written - * @throws IOException in case of an error writing the result to - * the parameter stream - */ - private int outputXref(OutputStream stream) throws IOException { - - /* remember position of xref table */ - this.xref = this.position; - - /* construct initial part of xref */ - StringBuffer pdf = new StringBuffer(128); - pdf.append("xref\n0 "); - pdf.append(this.objectcount + 1); - pdf.append("\n0000000000 65535 f \n"); - - String s; - String loc; - for (int count = 0; count < this.location.size(); count++) { - final String padding = "0000000000"; - s = this.location.get(count).toString(); - if (s.length() > 10) { - throw new IOException("PDF file too large. PDF cannot grow beyond approx. 9.3GB."); - } + private class UncompressedTrailerOutputHelper implements TrailerOutputHelper { - /* contruct xref entry for object */ - loc = padding.substring(s.length()) + s; + public void outputStructureTreeElements(OutputStream stream) + throws IOException { + streamIndirectObjects(structureTreeElements, stream); + } - /* append to xref table */ - pdf = pdf.append(loc).append(" 00000 n \n"); + public long outputCrossReferenceObject(OutputStream stream, + TrailerDictionary trailerDictionary) throws IOException { + new CrossReferenceTable(trailerDictionary, position, + indirectObjectOffsets).output(stream); + return position; } + } + + private class CompressedTrailerOutputHelper implements TrailerOutputHelper { + + private ObjectStreamManager structureTreeObjectStreams; - /* write the xref table and return the character length */ - byte[] pdfBytes = encode(pdf.toString()); - stream.write(pdfBytes); - return pdfBytes.length; + public void outputStructureTreeElements(OutputStream stream) + throws IOException { + assert structureTreeElements.size() > 0; + structureTreeObjectStreams = new ObjectStreamManager(PDFDocument.this); + for (PDFStructElem structElem : structureTreeElements) { + structureTreeObjectStreams.add(structElem); + } + } + + public long outputCrossReferenceObject(OutputStream stream, + TrailerDictionary trailerDictionary) throws IOException { + // Outputting the object streams should not have created new indirect objects + assert objects.isEmpty(); + new CrossReferenceStream(PDFDocument.this, ++objectcount, trailerDictionary, position, + indirectObjectOffsets, + structureTreeObjectStreams.getCompressedObjectReferences()) + .output(stream); + return position; + } } long getCurrentFileSize() { diff --git a/src/java/org/apache/fop/pdf/PDFEncryption.java b/src/java/org/apache/fop/pdf/PDFEncryption.java index 277cf0a94..fcb56e50b 100644 --- a/src/java/org/apache/fop/pdf/PDFEncryption.java +++ b/src/java/org/apache/fop/pdf/PDFEncryption.java @@ -40,8 +40,10 @@ public interface PDFEncryption { byte[] encrypt(byte[] data, PDFObject refObj); /** - * Returns the trailer entry for encryption. - * @return the trailer entry + * Returns the /Encrypt entry in the file trailer dictionary. + * + * @return the string "/Encrypt n g R\n" where n and g are the number and generation + * of the document's encryption dictionary */ String getTrailerEntry(); } diff --git a/src/java/org/apache/fop/pdf/PDFEncryptionJCE.java b/src/java/org/apache/fop/pdf/PDFEncryptionJCE.java index c9b9c58ba..2ef3b93da 100644 --- a/src/java/org/apache/fop/pdf/PDFEncryptionJCE.java +++ b/src/java/org/apache/fop/pdf/PDFEncryptionJCE.java @@ -69,8 +69,9 @@ public final class PDFEncryptionJCE extends PDFObject implements PDFEncryption { ? new Rev2Engine(encryptionSettings) : new Rev3Engine(encryptionSettings); initializationEngine.run(); - encryptionDictionary = createEncryptionDictionary(getObjectID(), permissions, - initializationEngine.oValue, initializationEngine.uValue); + encryptionDictionary = createEncryptionDictionary(permissions, + initializationEngine.oValue, + initializationEngine.uValue); } private void determineEncryptionAlgorithm() { @@ -91,18 +92,16 @@ public final class PDFEncryptionJCE extends PDFObject implements PDFEncryption { && encryptionParams.isAllowPrintHq(); } - private String createEncryptionDictionary(final String objectId, final int permissions, - final byte[] oValue, final byte[] uValue) { - return objectId - + "<< /Filter /Standard\n" + private String createEncryptionDictionary(final int permissions, final byte[] oValue, + final byte[] uValue) { + return "<< /Filter /Standard\n" + "/V " + version + "\n" + "/R " + revision + "\n" + "/Length " + encryptionLength + "\n" + "/P " + permissions + "\n" + "/O " + PDFText.toHex(oValue) + "\n" + "/U " + PDFText.toHex(uValue) + "\n" - + ">>\n" - + "endobj\n"; + + ">>"; } } @@ -488,14 +487,7 @@ public final class PDFEncryptionJCE extends PDFObject implements PDFEncryption { /** {@inheritDoc} */ public String getTrailerEntry() { - PDFDocument doc = getDocumentSafely(); - FileIDGenerator gen = doc.getFileIDGenerator(); - return "/Encrypt " + getObjectNumber() + " " - + getGeneration() + " R\n" - + "/ID[" - + PDFText.toHex(gen.getOriginalFileID()) - + PDFText.toHex(gen.getUpdatedFileID()) - + "]\n"; + return "/Encrypt " + getObjectNumber() + " " + getGeneration() + " R\n"; } private static byte[] encryptWithKey(byte[] key, byte[] data) { diff --git a/src/java/org/apache/fop/pdf/PDFFactory.java b/src/java/org/apache/fop/pdf/PDFFactory.java index a981dae88..2c347031f 100644 --- a/src/java/org/apache/fop/pdf/PDFFactory.java +++ b/src/java/org/apache/fop/pdf/PDFFactory.java @@ -912,35 +912,6 @@ public class PDFFactory { return pageLabels; } - /** - * Creates and returns a StructTreeRoot object. Used for accessibility. - * @param parentTree the value of the ParenTree entry - * @return structure Tree Root element - */ - public PDFStructTreeRoot makeStructTreeRoot(PDFParentTree parentTree) { - PDFStructTreeRoot structTreeRoot = new PDFStructTreeRoot(parentTree); - getDocument().assignObjectNumber(structTreeRoot); - getDocument().addTrailerObject(structTreeRoot); - getDocument().getRoot().setStructTreeRoot(structTreeRoot); - return structTreeRoot; - } - - /** - * Creates and returns a StructElem object. - * - * @param structureType the structure type of the new element (value for the - * S entry) - * @param parent the parent of the new structure element in the structure - * hierarchy - * @return the newly created element - */ - public PDFStructElem makeStructureElement(PDFName structureType, PDFObject parent) { - PDFStructElem structElem = new PDFStructElem(parent, structureType); - getDocument().assignObjectNumber(structElem); - getDocument().addTrailerObject(structElem); - return structElem; - } - /** * Make a the head object of the name dictionary (the /Dests object). * diff --git a/src/java/org/apache/fop/pdf/PDFFilterList.java b/src/java/org/apache/fop/pdf/PDFFilterList.java index 3025b8788..3f26f454c 100644 --- a/src/java/org/apache/fop/pdf/PDFFilterList.java +++ b/src/java/org/apache/fop/pdf/PDFFilterList.java @@ -21,6 +21,7 @@ package org.apache.fop.pdf; import java.io.IOException; import java.io.OutputStream; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -47,7 +48,7 @@ public class PDFFilterList { /** Key for the filter used for metadata */ public static final String METADATA_FILTER = "metadata"; - private List filters = new java.util.ArrayList(); + private List filters = new java.util.ArrayList(); private boolean ignoreASCIIFilters = false; @@ -197,6 +198,10 @@ public class PDFFilterList { } } + List getFilters() { + return Collections.unmodifiableList(filters); + } + /** * Apply the filters to the data * in the order given and return the /Filter and /DecodeParms @@ -206,7 +211,7 @@ public class PDFFilterList { * @return a String representing the filter list */ protected String buildFilterDictEntries() { - if (filters != null && filters.size() > 0) { + if (filters.size() > 0) { List names = new java.util.ArrayList(); List parms = new java.util.ArrayList(); @@ -229,7 +234,7 @@ public class PDFFilterList { * @param dict the PDFDictionary to set the entries on */ protected void putFilterDictEntries(PDFDictionary dict) { - if (filters != null && filters.size() > 0) { + if (filters.size() > 0) { List names = new java.util.ArrayList(); List parms = new java.util.ArrayList(); @@ -358,7 +363,7 @@ public class PDFFilterList { */ public OutputStream applyFilters(OutputStream stream) throws IOException { OutputStream out = stream; - if (filters != null && !isDisableAllFilters()) { + if (!isDisableAllFilters()) { for (int count = filters.size() - 1; count >= 0; count--) { PDFFilter filter = (PDFFilter)filters.get(count); out = filter.applyFilter(out); diff --git a/src/java/org/apache/fop/pdf/PDFFont.java b/src/java/org/apache/fop/pdf/PDFFont.java index 2808e5ba7..191fd223e 100644 --- a/src/java/org/apache/fop/pdf/PDFFont.java +++ b/src/java/org/apache/fop/pdf/PDFFont.java @@ -174,7 +174,7 @@ public class PDFFont extends PDFDictionary { } /** {@inheritDoc} */ - protected int output(OutputStream stream) throws IOException { + public int output(OutputStream stream) throws IOException { validate(); return super.output(stream); } diff --git a/src/java/org/apache/fop/pdf/PDFFormXObject.java b/src/java/org/apache/fop/pdf/PDFFormXObject.java index 2ccc17086..bc81a0a35 100644 --- a/src/java/org/apache/fop/pdf/PDFFormXObject.java +++ b/src/java/org/apache/fop/pdf/PDFFormXObject.java @@ -44,7 +44,7 @@ public class PDFFormXObject extends PDFXObject { * @param resources the resource PDF reference */ public PDFFormXObject(int xnumber, PDFStream contents, PDFReference resources) { - super(); + super(contents.getDictionary()); put("Name", new PDFName("Form" + xnumber)); this.contents = contents; @@ -160,7 +160,7 @@ public class PDFFormXObject extends PDFXObject { } /** {@inheritDoc} */ - protected int output(OutputStream stream) throws IOException { + public int output(OutputStream stream) throws IOException { final int len = super.output(stream); //Now that the data has been written, it can be discarded. diff --git a/src/java/org/apache/fop/pdf/PDFFunction.java b/src/java/org/apache/fop/pdf/PDFFunction.java index 9e93ebee8..44198105b 100644 --- a/src/java/org/apache/fop/pdf/PDFFunction.java +++ b/src/java/org/apache/fop/pdf/PDFFunction.java @@ -380,8 +380,7 @@ public class PDFFunction extends PDFObject { int numberOfFunctions = 0; int tempInt = 0; StringBuffer p = new StringBuffer(256); - p.append(getObjectID() - + "<< \n/FunctionType " + this.functionType + " \n"); + p.append("<< \n/FunctionType " + this.functionType + " \n"); // FunctionType 0 if (this.functionType == 0) { @@ -482,15 +481,14 @@ public class PDFFunction extends PDFObject { p.append("] \n"); } } - p.append(">> \n"); + p.append(">>"); // stream representing the function if (this.functionDataStream != null) { - p.append("stream\n" + this.functionDataStream - + "\nendstream\n"); + p.append("\nstream\n" + this.functionDataStream + + "\nendstream"); } - p.append("endobj\n"); // end of if FunctionType 0 } else if (this.functionType == 2) { @@ -550,7 +548,7 @@ public class PDFFunction extends PDFObject { + PDFNumber.doubleOut(new Double(this.interpolationExponentN)) + " \n"); - p.append(">> \nendobj\n"); + p.append(">>"); } else if (this.functionType == 3) { // fix this up when my eyes uncross @@ -643,10 +641,7 @@ public class PDFFunction extends PDFObject { } } - p.append("] \n"); - - - p.append(">> \nendobj\n"); + p.append("]\n>>"); } else if (this.functionType == 4) { // fix this up when my eyes uncross // DOMAIN @@ -681,15 +676,14 @@ public class PDFFunction extends PDFObject { + " \n"); } - p.append(">> \n"); + p.append(">>"); // stream representing the function if (this.functionDataStream != null) { - p.append("stream\n{ " + this.functionDataStream - + " } \nendstream\n"); + p.append("\nstream\n{ " + this.functionDataStream + + " }\nendstream"); } - p.append("endobj\n"); } diff --git a/src/java/org/apache/fop/pdf/PDFGState.java b/src/java/org/apache/fop/pdf/PDFGState.java index fe57e39c2..7306218ae 100644 --- a/src/java/org/apache/fop/pdf/PDFGState.java +++ b/src/java/org/apache/fop/pdf/PDFGState.java @@ -149,12 +149,10 @@ public class PDFGState extends PDFObject { */ public String toPDFString() { StringBuffer sb = new StringBuffer(64); - sb.append(getObjectID()); sb.append("<<\n/Type /ExtGState\n"); appendVal(sb, GSTATE_ALPHA_NONSTROKE); appendVal(sb, GSTATE_ALPHA_STROKE); - - sb.append(">>\nendobj\n"); + sb.append(">>"); return sb.toString(); } diff --git a/src/java/org/apache/fop/pdf/PDFGoTo.java b/src/java/org/apache/fop/pdf/PDFGoTo.java index 0626f0fcd..784aa4f95 100644 --- a/src/java/org/apache/fop/pdf/PDFGoTo.java +++ b/src/java/org/apache/fop/pdf/PDFGoTo.java @@ -124,9 +124,7 @@ public class PDFGoTo extends PDFAction { } else { dest = "/D [" + this.pageReference + " " + destination + "]\n"; } - return getObjectID() - + "<< /Type /Action\n/S /GoTo\n" + dest - + ">>\nendobj\n"; + return "<< /Type /Action\n/S /GoTo\n" + dest + ">>"; } /* diff --git a/src/java/org/apache/fop/pdf/PDFGoToRemote.java b/src/java/org/apache/fop/pdf/PDFGoToRemote.java index 93fbe47de..2dccdafce 100644 --- a/src/java/org/apache/fop/pdf/PDFGoToRemote.java +++ b/src/java/org/apache/fop/pdf/PDFGoToRemote.java @@ -106,7 +106,6 @@ public class PDFGoToRemote extends PDFAction { */ public String toPDFString() { StringBuffer sb = new StringBuffer(64); - sb.append(getObjectID()); sb.append("<<\n/S /GoToR\n/F "); sb.append(pdfFileSpec.toString()); sb.append("\n"); @@ -121,7 +120,7 @@ public class PDFGoToRemote extends PDFAction { sb.append("/NewWindow true"); } - sb.append(" \n>>\nendobj\n"); + sb.append("\n>>"); return sb.toString(); } diff --git a/src/java/org/apache/fop/pdf/PDFICCBasedColorSpace.java b/src/java/org/apache/fop/pdf/PDFICCBasedColorSpace.java index 87e8f5475..b86ba29f5 100644 --- a/src/java/org/apache/fop/pdf/PDFICCBasedColorSpace.java +++ b/src/java/org/apache/fop/pdf/PDFICCBasedColorSpace.java @@ -99,9 +99,7 @@ public class PDFICCBasedColorSpace extends PDFObject implements PDFColorSpace { @Override protected String toPDFString() { StringBuffer sb = new StringBuffer(64); - sb.append(getObjectID()); sb.append("[/ICCBased ").append(getICCStream().referencePDF()).append("]"); - sb.append("\nendobj\n"); return sb.toString(); } diff --git a/src/java/org/apache/fop/pdf/PDFICCStream.java b/src/java/org/apache/fop/pdf/PDFICCStream.java index 9002fcc94..33b81307b 100644 --- a/src/java/org/apache/fop/pdf/PDFICCStream.java +++ b/src/java/org/apache/fop/pdf/PDFICCStream.java @@ -64,7 +64,7 @@ public class PDFICCStream extends PDFStream { * {@inheritDoc} */ @Override - protected int output(java.io.OutputStream stream) + public int output(java.io.OutputStream stream) throws java.io.IOException { int length = super.output(stream); this.cp = null; //Free ICC stream when it's not used anymore diff --git a/src/java/org/apache/fop/pdf/PDFImageXObject.java b/src/java/org/apache/fop/pdf/PDFImageXObject.java index 9ec8f1595..acab4c19c 100644 --- a/src/java/org/apache/fop/pdf/PDFImageXObject.java +++ b/src/java/org/apache/fop/pdf/PDFImageXObject.java @@ -61,7 +61,7 @@ public class PDFImageXObject extends PDFXObject { * @throws IOException if there is an error writing the data * @return the length of the data written */ - protected int output(OutputStream stream) throws IOException { + public int output(OutputStream stream) throws IOException { int length = super.output(stream); // let it gc @@ -137,7 +137,7 @@ public class PDFImageXObject extends PDFXObject { put("SMask", ref); } //Important: do this at the end so previous values can be overwritten. - pdfimage.populateXObjectDictionary(this); + pdfimage.populateXObjectDictionary(getDictionary()); } /** {@inheritDoc} */ diff --git a/src/java/org/apache/fop/pdf/PDFInfo.java b/src/java/org/apache/fop/pdf/PDFInfo.java index 3f3fb3b46..d457c2888 100644 --- a/src/java/org/apache/fop/pdf/PDFInfo.java +++ b/src/java/org/apache/fop/pdf/PDFInfo.java @@ -169,7 +169,6 @@ public class PDFInfo extends PDFObject { PDFProfile profile = getDocumentSafely().getProfile(); ByteArrayOutputStream bout = new ByteArrayOutputStream(128); try { - bout.write(encode(getObjectID())); bout.write(encode("<<\n")); if (title != null && title.length() > 0) { bout.write(encode("/Title ")); @@ -229,7 +228,7 @@ public class PDFInfo extends PDFObject { bout.write(encode("/Trapped /False\n")); } - bout.write(encode(">>\nendobj\n")); + bout.write(encode(">>")); } catch (IOException ioe) { log.error("Ignored I/O exception", ioe); } diff --git a/src/java/org/apache/fop/pdf/PDFLaunch.java b/src/java/org/apache/fop/pdf/PDFLaunch.java index e62da5279..7d80ddb43 100644 --- a/src/java/org/apache/fop/pdf/PDFLaunch.java +++ b/src/java/org/apache/fop/pdf/PDFLaunch.java @@ -54,10 +54,9 @@ public class PDFLaunch extends PDFAction { /** {@inheritDoc} */ public String toPDFString() { StringBuffer sb = new StringBuffer(64); - sb.append(getObjectID()); sb.append("<<\n/S /Launch\n/F "); sb.append(externalFileSpec.toString()); - sb.append(" \n>>\nendobj\n"); + sb.append("\n>>"); return sb.toString(); } diff --git a/src/java/org/apache/fop/pdf/PDFLink.java b/src/java/org/apache/fop/pdf/PDFLink.java index 934932648..ffec6f09c 100644 --- a/src/java/org/apache/fop/pdf/PDFLink.java +++ b/src/java/org/apache/fop/pdf/PDFLink.java @@ -92,15 +92,14 @@ public class PDFLink extends PDFObject { f |= 1 << (5 - 1); //NoRotate, bit 5 fFlag = "/F " + f; } - String s = getObjectID() - + "<< /Type /Annot\n" + "/Subtype /Link\n" + "/Rect [ " + String s = "<< /Type /Annot\n" + "/Subtype /Link\n" + "/Rect [ " + (ulx) + " " + (uly) + " " + (brx) + " " + (bry) + " ]\n" + "/C [ " + this.color + " ]\n" + "/Border [ 0 0 0 ]\n" + "/A " + this.action.getAction() + "\n" + "/H /I\n" + (this.structParent != null ? "/StructParent " + this.structParent.toString() + "\n" : "") - + fFlag + "\n>>\nendobj\n"; + + fFlag + "\n>>"; return s; } diff --git a/src/java/org/apache/fop/pdf/PDFMetadata.java b/src/java/org/apache/fop/pdf/PDFMetadata.java index b9612d11b..9b1b8165b 100644 --- a/src/java/org/apache/fop/pdf/PDFMetadata.java +++ b/src/java/org/apache/fop/pdf/PDFMetadata.java @@ -79,7 +79,7 @@ public class PDFMetadata extends PDFStream { * byte arrays around so much * {@inheritDoc} */ - protected int output(java.io.OutputStream stream) + public int output(java.io.OutputStream stream) throws java.io.IOException { int length = super.output(stream); this.xmpMetadata = null; //Release DOM when it's not used anymore diff --git a/src/java/org/apache/fop/pdf/PDFName.java b/src/java/org/apache/fop/pdf/PDFName.java index 7fa6842fa..23294cc54 100644 --- a/src/java/org/apache/fop/pdf/PDFName.java +++ b/src/java/org/apache/fop/pdf/PDFName.java @@ -108,22 +108,11 @@ public class PDFName extends PDFObject { return name.hashCode(); } - - /** {@inheritDoc} */ @Override - protected int output(OutputStream stream) throws IOException { + public int output(OutputStream stream) throws IOException { CountingOutputStream cout = new CountingOutputStream(stream); StringBuilder textBuffer = new StringBuilder(64); - if (hasObjectNumber()) { - textBuffer.append(getObjectID()); - } - textBuffer.append(toString()); - - if (hasObjectNumber()) { - textBuffer.append("\nendobj\n"); - } - PDFDocument.flushTextBuffer(textBuffer, cout); return cout.getCount(); } diff --git a/src/java/org/apache/fop/pdf/PDFNumber.java b/src/java/org/apache/fop/pdf/PDFNumber.java index 5bc648ced..95242305c 100644 --- a/src/java/org/apache/fop/pdf/PDFNumber.java +++ b/src/java/org/apache/fop/pdf/PDFNumber.java @@ -85,13 +85,7 @@ public class PDFNumber extends PDFObject { "The number of this PDFNumber must not be empty"); } StringBuffer sb = new StringBuffer(64); - if (hasObjectNumber()) { - sb.append(getObjectID()); - } sb.append(doubleOut(getNumber().doubleValue(), 10)); - if (hasObjectNumber()) { - sb.append("\nendobj\n"); - } return sb.toString(); } diff --git a/src/java/org/apache/fop/pdf/PDFNumsArray.java b/src/java/org/apache/fop/pdf/PDFNumsArray.java index ecd301647..e9e1855b0 100644 --- a/src/java/org/apache/fop/pdf/PDFNumsArray.java +++ b/src/java/org/apache/fop/pdf/PDFNumsArray.java @@ -88,13 +88,9 @@ public class PDFNumsArray extends PDFObject { /** {@inheritDoc} */ @Override - protected int output(OutputStream stream) throws IOException { + public int output(OutputStream stream) throws IOException { CountingOutputStream cout = new CountingOutputStream(stream); StringBuilder textBuffer = new StringBuilder(64); - if (hasObjectNumber()) { - textBuffer.append(getObjectID()); - } - textBuffer.append('['); boolean first = true; for (Map.Entry entry : this.map.entrySet()) { @@ -107,11 +103,6 @@ public class PDFNumsArray extends PDFObject { formatObject(entry.getValue(), cout, textBuffer); } textBuffer.append(']'); - - if (hasObjectNumber()) { - textBuffer.append("\nendobj\n"); - } - PDFDocument.flushTextBuffer(textBuffer, cout); return cout.getCount(); } diff --git a/src/java/org/apache/fop/pdf/PDFObject.java b/src/java/org/apache/fop/pdf/PDFObject.java index 5abb5a142..1b9c4eea7 100644 --- a/src/java/org/apache/fop/pdf/PDFObject.java +++ b/src/java/org/apache/fop/pdf/PDFObject.java @@ -204,7 +204,7 @@ public abstract class PDFObject implements PDFWritable { * @throws IOException if there is an error writing to the stream * @return the number of bytes written */ - protected int output(OutputStream stream) throws IOException { + public int output(OutputStream stream) throws IOException { byte[] pdf = this.toPDF(); stream.write(pdf); return pdf.length; diff --git a/src/java/org/apache/fop/pdf/PDFOutline.java b/src/java/org/apache/fop/pdf/PDFOutline.java index 66116c681..61c562548 100644 --- a/src/java/org/apache/fop/pdf/PDFOutline.java +++ b/src/java/org/apache/fop/pdf/PDFOutline.java @@ -131,7 +131,6 @@ public class PDFOutline extends PDFObject { protected byte[] toPDF() { ByteArrayOutputStream bout = new ByteArrayOutputStream(128); try { - bout.write(encode(getObjectID())); bout.write(encode("<<")); if (parent == null) { // root Outlines object @@ -164,7 +163,7 @@ public class PDFOutline extends PDFObject { bout.write(encode(" /A " + actionRef + "\n")); } } - bout.write(encode(">> endobj\n")); + bout.write(encode(">>")); } catch (IOException ioe) { log.error("Ignored I/O exception", ioe); } diff --git a/src/java/org/apache/fop/pdf/PDFOutputIntent.java b/src/java/org/apache/fop/pdf/PDFOutputIntent.java index ea073829b..1c0373944 100644 --- a/src/java/org/apache/fop/pdf/PDFOutputIntent.java +++ b/src/java/org/apache/fop/pdf/PDFOutputIntent.java @@ -130,7 +130,6 @@ public class PDFOutputIntent extends PDFObject { public byte[] toPDF() { ByteArrayOutputStream bout = new ByteArrayOutputStream(128); try { - bout.write(encode(getObjectID())); bout.write(encode("<<\n")); bout.write(encode("/Type /OutputIntent\n")); @@ -164,7 +163,7 @@ public class PDFOutputIntent extends PDFObject { bout.write(encode("/DestOutputProfile " + destOutputProfile.referencePDF() + "\n")); } - bout.write(encode(">>\nendobj\n")); + bout.write(encode(">>")); } catch (IOException ioe) { log.error("Ignored I/O exception", ioe); } diff --git a/src/java/org/apache/fop/pdf/PDFPages.java b/src/java/org/apache/fop/pdf/PDFPages.java index 61d860eaa..98c293a97 100644 --- a/src/java/org/apache/fop/pdf/PDFPages.java +++ b/src/java/org/apache/fop/pdf/PDFPages.java @@ -109,10 +109,9 @@ public class PDFPages extends PDFObject { */ public String toPDFString() { StringBuffer sb = new StringBuffer(64); - sb.append(getObjectID()) - .append("<< /Type /Pages\n/Count ") - .append(this.getCount()) - .append("\n/Kids ["); + sb.append("<< /Type /Pages\n/Count ") + .append(this.getCount()) + .append("\n/Kids ["); for (int i = 0; i < kids.size(); i++) { Object kid = kids.get(i); if (kid == null) { @@ -120,7 +119,7 @@ public class PDFPages extends PDFObject { } sb.append(kid).append(" "); } - sb.append("] >>\nendobj\n"); + sb.append("] >>"); return sb.toString(); } diff --git a/src/java/org/apache/fop/pdf/PDFPattern.java b/src/java/org/apache/fop/pdf/PDFPattern.java index 378b1cf8b..88a2ff492 100644 --- a/src/java/org/apache/fop/pdf/PDFPattern.java +++ b/src/java/org/apache/fop/pdf/PDFPattern.java @@ -210,13 +210,12 @@ public class PDFPattern extends PDFPathPaint { * @throws IOException if there is an error writing to the stream * @return the PDF string. */ - protected int output(OutputStream stream) throws IOException { + public int output(OutputStream stream) throws IOException { int vectorSize = 0; int tempInt = 0; byte[] buffer; StringBuffer p = new StringBuffer(64); - p.append(getObjectID()); p.append("<< \n/Type /Pattern \n"); if (this.resources != null) { @@ -323,10 +322,6 @@ public class PDFPattern extends PDFPathPaint { length += pdfStream.outputStreamData(encodedStream, stream); } - buffer = encode("\nendobj\n"); - stream.write(buffer); - length += buffer.length; - return length; } diff --git a/src/java/org/apache/fop/pdf/PDFResources.java b/src/java/org/apache/fop/pdf/PDFResources.java index 70f9af504..df8647bf4 100644 --- a/src/java/org/apache/fop/pdf/PDFResources.java +++ b/src/java/org/apache/fop/pdf/PDFResources.java @@ -192,8 +192,8 @@ public class PDFResources extends PDFDictionary { return cs; } - /** {@inheritDoc} */ - protected int output(OutputStream stream) throws IOException { + @Override + public int output(OutputStream stream) throws IOException { populateDictionary(); return super.output(stream); } diff --git a/src/java/org/apache/fop/pdf/PDFRoot.java b/src/java/org/apache/fop/pdf/PDFRoot.java index 81b93b159..e74c77478 100644 --- a/src/java/org/apache/fop/pdf/PDFRoot.java +++ b/src/java/org/apache/fop/pdf/PDFRoot.java @@ -76,7 +76,7 @@ public class PDFRoot extends PDFDictionary { } /** {@inheritDoc} */ - protected int output(OutputStream stream) throws IOException { + public int output(OutputStream stream) throws IOException { getDocument().getProfile().verifyTaggedPDF(); return super.output(stream); } diff --git a/src/java/org/apache/fop/pdf/PDFShading.java b/src/java/org/apache/fop/pdf/PDFShading.java index 2f955b850..90953968c 100644 --- a/src/java/org/apache/fop/pdf/PDFShading.java +++ b/src/java/org/apache/fop/pdf/PDFShading.java @@ -342,8 +342,7 @@ public class PDFShading extends PDFObject { int vectorSize; int tempInt; StringBuffer p = new StringBuffer(128); - p.append(getObjectID() - + "<< \n/ShadingType " + this.shadingType + " \n"); + p.append("<<\n/ShadingType " + this.shadingType + " \n"); if (this.colorSpace != null) { p.append("/ColorSpace /" + this.colorSpace.getName() + " \n"); @@ -528,7 +527,7 @@ public class PDFShading extends PDFObject { } - p.append(">> \nendobj\n"); + p.append(">>"); return (p.toString()); } diff --git a/src/java/org/apache/fop/pdf/PDFStream.java b/src/java/org/apache/fop/pdf/PDFStream.java index 5f74a2613..a0b990ec5 100644 --- a/src/java/org/apache/fop/pdf/PDFStream.java +++ b/src/java/org/apache/fop/pdf/PDFStream.java @@ -21,6 +21,7 @@ package org.apache.fop.pdf; import java.io.IOException; import java.io.OutputStream; +import java.io.OutputStreamWriter; import java.io.Writer; /** @@ -44,16 +45,33 @@ public class PDFStream extends AbstractPDFStream { * Create an empty stream object */ public PDFStream() { - super(); + setUp(); + } + + public PDFStream(PDFDictionary dictionary) { + super(dictionary); + setUp(); + } + + public PDFStream(PDFDictionary dictionary, boolean encodeOnTheFly) { + super(dictionary, encodeOnTheFly); + setUp(); + } + + public PDFStream(boolean encodeOnTheFly) { + super(encodeOnTheFly); + setUp(); + } + + private void setUp() { try { data = StreamCacheFactory.getInstance().createStreamCache(); - this.streamWriter = new java.io.OutputStreamWriter( + this.streamWriter = new OutputStreamWriter( getBufferOutputStream(), PDFDocument.ENCODING); //Buffer to minimize calls to the converter this.streamWriter = new java.io.BufferedWriter(this.streamWriter); - } catch (IOException ex) { - //TODO throw the exception and catch it elsewhere - ex.printStackTrace(); + } catch (IOException e) { + throw new RuntimeException(e); } } @@ -136,7 +154,7 @@ public class PDFStream extends AbstractPDFStream { /** * {@inheritDoc} */ - protected int output(OutputStream stream) throws IOException { + public int output(OutputStream stream) throws IOException { final int len = super.output(stream); //Now that the data has been written, it can be discarded. diff --git a/src/java/org/apache/fop/pdf/PDFStructElem.java b/src/java/org/apache/fop/pdf/PDFStructElem.java index e35a860d9..90a41fb72 100644 --- a/src/java/org/apache/fop/pdf/PDFStructElem.java +++ b/src/java/org/apache/fop/pdf/PDFStructElem.java @@ -31,7 +31,7 @@ import org.apache.fop.util.LanguageTags; /** * Class representing a PDF Structure Element. */ -public class PDFStructElem extends PDFDictionary implements StructureTreeElement { +public class PDFStructElem extends PDFDictionary implements StructureTreeElement, CompressedObject { private PDFStructElem parentElement; diff --git a/src/java/org/apache/fop/pdf/PDFT1Stream.java b/src/java/org/apache/fop/pdf/PDFT1Stream.java index d723625eb..2bae5dca3 100644 --- a/src/java/org/apache/fop/pdf/PDFT1Stream.java +++ b/src/java/org/apache/fop/pdf/PDFT1Stream.java @@ -46,7 +46,7 @@ public class PDFT1Stream extends AbstractPDFFontStream { * byte arrays around so much * {@inheritDoc} */ - protected int output(java.io.OutputStream stream) + public int output(java.io.OutputStream stream) throws java.io.IOException { if (pfb == null) { throw new IllegalStateException("pfb must not be null at this point"); diff --git a/src/java/org/apache/fop/pdf/PDFTTFStream.java b/src/java/org/apache/fop/pdf/PDFTTFStream.java index 643ddb1e8..998e14f28 100644 --- a/src/java/org/apache/fop/pdf/PDFTTFStream.java +++ b/src/java/org/apache/fop/pdf/PDFTTFStream.java @@ -53,7 +53,7 @@ public class PDFTTFStream extends AbstractPDFFontStream { * byte arrays around so much * {@inheritDoc} */ - protected int output(java.io.OutputStream stream) + public int output(java.io.OutputStream stream) throws java.io.IOException { if (log.isDebugEnabled()) { log.debug("Writing " + origLength + " bytes of TTF font data"); diff --git a/src/java/org/apache/fop/pdf/PDFText.java b/src/java/org/apache/fop/pdf/PDFText.java index 9566f60da..3cddfe426 100644 --- a/src/java/org/apache/fop/pdf/PDFText.java +++ b/src/java/org/apache/fop/pdf/PDFText.java @@ -60,11 +60,9 @@ public class PDFText extends PDFObject { "The text of this PDFText must not be empty"); } StringBuffer sb = new StringBuffer(64); - sb.append(getObjectID()); sb.append("("); sb.append(escapeText(getText())); sb.append(")"); - sb.append("\nendobj\n"); return sb.toString(); } diff --git a/src/java/org/apache/fop/pdf/PDFUri.java b/src/java/org/apache/fop/pdf/PDFUri.java index a6124ec03..b3d377ff1 100644 --- a/src/java/org/apache/fop/pdf/PDFUri.java +++ b/src/java/org/apache/fop/pdf/PDFUri.java @@ -55,8 +55,7 @@ public class PDFUri extends PDFAction { /** {@inheritDoc} */ public String toPDFString() { //TODO Convert this class into a dictionary - return getObjectID() + getDictString() + "\nendobj\n"; - //throw new UnsupportedOperationException("This method should not be called"); + return getDictString(); } } diff --git a/src/java/org/apache/fop/pdf/PDFXObject.java b/src/java/org/apache/fop/pdf/PDFXObject.java index d1ce6d75e..c2b702650 100644 --- a/src/java/org/apache/fop/pdf/PDFXObject.java +++ b/src/java/org/apache/fop/pdf/PDFXObject.java @@ -41,6 +41,10 @@ public abstract class PDFXObject extends AbstractPDFStream { super(); } + protected PDFXObject(PDFDictionary dictionary) { + super(dictionary); + } + /** * Returns the XObject's name. * @return the name of the XObject diff --git a/src/java/org/apache/fop/pdf/Version.java b/src/java/org/apache/fop/pdf/Version.java index 0df63d312..4bdc7a1b4 100644 --- a/src/java/org/apache/fop/pdf/Version.java +++ b/src/java/org/apache/fop/pdf/Version.java @@ -48,12 +48,13 @@ public enum Version { } /** - * Given the PDF version as a String, returns the corresponding enumerated type. The String - * should be in the format "1.x" for PDF v1.x. + * Given the PDF version as a String, returns the corresponding enumerated type. The + * String should be in the format "1.x" for PDF v1.x. * * @param version a version number * @return the corresponding Version instance - * @throws IllegalArgumentException if the argument does not correspond to any existing PDF version + * @throws IllegalArgumentException if the argument does not correspond to any + * existing PDF version */ public static Version getValueOf(String version) { for (Version pdfVersion : Version.values()) { diff --git a/src/java/org/apache/fop/pdf/xref/CompressedObjectReference.java b/src/java/org/apache/fop/pdf/xref/CompressedObjectReference.java new file mode 100644 index 000000000..eb619fcc6 --- /dev/null +++ b/src/java/org/apache/fop/pdf/xref/CompressedObjectReference.java @@ -0,0 +1,66 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ + +package org.apache.fop.pdf.xref; + +import java.io.DataOutputStream; +import java.io.IOException; + +/** + * A reference to an indirect object stored in an object stream. Contains the relevant + * information to add to a cross-reference stream. + */ +public class CompressedObjectReference implements ObjectReference { + + private final int objectNumber; + + private final int objectStreamNumber; + + private final int index; + + /** + * Creates a new reference. + * + * @param objectNumber the number of the compressed object being referenced + * @param objectStreamNumber the number of the object stream in which the compressed + * object is to be found + * @param index the index of the compressed object in the object stream + */ + public CompressedObjectReference(int objectNumber, int objectStreamNumber, int index) { + this.objectNumber = objectNumber; + this.objectStreamNumber = objectStreamNumber; + this.index = index; + } + + public void output(DataOutputStream out) throws IOException { + out.write(2); + out.writeLong(objectStreamNumber); + out.write(0); + out.write(index); + } + + public int getObjectNumber() { + return objectNumber; + } + + public int getObjectStreamNumber() { + return objectStreamNumber; + } + +} diff --git a/src/java/org/apache/fop/pdf/xref/CrossReferenceObject.java b/src/java/org/apache/fop/pdf/xref/CrossReferenceObject.java new file mode 100644 index 000000000..3db50eca9 --- /dev/null +++ b/src/java/org/apache/fop/pdf/xref/CrossReferenceObject.java @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ + +package org.apache.fop.pdf.xref; + +import java.io.IOException; +import java.io.OutputStream; + +/** + * A representation of the cross-reference data to be output at the end of a PDF file. + */ +public abstract class CrossReferenceObject { + + protected final TrailerDictionary trailerDictionary; + + protected final long startxref; + + CrossReferenceObject(TrailerDictionary trailerDictionary, long startxref) { + this.trailerDictionary = trailerDictionary; + this.startxref = startxref; + } + + /** + * Writes the cross reference data to a PDF stream + * + * @param stream the stream to write the cross reference to + * @throws IOException if an I/O exception occurs while writing the data + */ + public abstract void output(OutputStream stream) throws IOException; +} diff --git a/src/java/org/apache/fop/pdf/xref/CrossReferenceStream.java b/src/java/org/apache/fop/pdf/xref/CrossReferenceStream.java new file mode 100644 index 000000000..32c31573f --- /dev/null +++ b/src/java/org/apache/fop/pdf/xref/CrossReferenceStream.java @@ -0,0 +1,107 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ + +package org.apache.fop.pdf.xref; + +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.List; + +import org.apache.fop.pdf.PDFArray; +import org.apache.fop.pdf.PDFDictionary; +import org.apache.fop.pdf.PDFDocument; +import org.apache.fop.pdf.PDFFilterList; +import org.apache.fop.pdf.PDFName; +import org.apache.fop.pdf.PDFStream; + +/** + * A cross-reference stream, as described in Section 3.4.7 of the PDF 1.5 Reference. + */ +public class CrossReferenceStream extends CrossReferenceObject { + + private static final PDFName XREF = new PDFName("XRef"); + + private final PDFDocument document; + + private final int objectNumber; + + private final List objectReferences; + + public CrossReferenceStream(PDFDocument document, + int objectNumber, + TrailerDictionary trailerDictionary, + long startxref, + List uncompressedObjectReferences, + List compressedObjectReferences) { + super(trailerDictionary, startxref); + this.document = document; + this.objectNumber = objectNumber; + this.objectReferences = new ArrayList(uncompressedObjectReferences.size()); + for (Long offset : uncompressedObjectReferences) { + objectReferences.add(offset == null ? null : new UncompressedObjectReference(offset)); + } + for (CompressedObjectReference ref : compressedObjectReferences) { + this.objectReferences.set(ref.getObjectNumber() - 1, ref); + } + } + + /** {@inheritDoc} */ + public void output(OutputStream stream) throws IOException { + populateDictionary(); + PDFStream helperStream = new PDFStream(trailerDictionary.getDictionary(), false) { + + @Override + protected void setupFilterList() { + PDFFilterList filterList = getFilterList(); + assert !filterList.isInitialized(); + filterList.addDefaultFilters(document.getFilterMap(), getDefaultFilterName()); + } + + }; + helperStream.setObjectNumber(objectNumber); + helperStream.setDocument(document); + ByteArrayOutputStream byteArray = new ByteArrayOutputStream(); + DataOutputStream data = new DataOutputStream(byteArray); + addFreeEntryForObject0(data); + for (ObjectReference objectReference : objectReferences) { + assert objectReference != null; + objectReference.output(data); + } + new UncompressedObjectReference(startxref).output(data); + data.close(); + helperStream.setData(byteArray.toByteArray()); + PDFDocument.outputIndirectObject(helperStream, stream); + } + + private void populateDictionary() throws IOException { + int objectCount = objectReferences.size() + 1; + PDFDictionary dictionary = trailerDictionary.getDictionary(); + dictionary.put("/Type", XREF); + dictionary.put("/Size", objectCount + 1); + dictionary.put("/W", new PDFArray(1, 8, 2)); + } + + private void addFreeEntryForObject0(DataOutputStream data) throws IOException { + data.write(new byte[] {0, 0, 0, 0, 0, 0, 0, 0, 0, (byte) 0xff, (byte) 0xff}); + } + +} diff --git a/src/java/org/apache/fop/pdf/xref/CrossReferenceTable.java b/src/java/org/apache/fop/pdf/xref/CrossReferenceTable.java new file mode 100644 index 000000000..41a1146ca --- /dev/null +++ b/src/java/org/apache/fop/pdf/xref/CrossReferenceTable.java @@ -0,0 +1,73 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ + +package org.apache.fop.pdf.xref; + +import java.io.IOException; +import java.io.OutputStream; +import java.util.List; + +import org.apache.fop.pdf.PDFDictionary; +import org.apache.fop.pdf.PDFDocument; + +/** + * A cross-reference table, as described in Section 3.4.3 of the PDF 1.5 Reference. + */ +public class CrossReferenceTable extends CrossReferenceObject { + + private final List objectReferences; + + private final StringBuilder pdf = new StringBuilder(256); + + public CrossReferenceTable(TrailerDictionary trailerDictionary, long startxref, + List location) { + super(trailerDictionary, startxref); + this.objectReferences = location; + } + + public void output(OutputStream stream) throws IOException { + outputXref(); + writeTrailer(stream); + } + + private void outputXref() throws IOException { + pdf.append("xref\n0 "); + pdf.append(objectReferences.size() + 1); + pdf.append("\n0000000000 65535 f \n"); + for (Long objectReference : objectReferences) { + final String padding = "0000000000"; + String s = String.valueOf(objectReference); + if (s.length() > 10) { + throw new IOException("PDF file too large." + + " PDF 1.4 cannot grow beyond approx. 9.3GB."); + } + String loc = padding.substring(s.length()) + s; + pdf.append(loc).append(" 00000 n \n"); + } + } + + private void writeTrailer(OutputStream stream) throws IOException { + pdf.append("trailer\n"); + stream.write(PDFDocument.encode(pdf.toString())); + PDFDictionary dictionary = trailerDictionary.getDictionary(); + dictionary.put("/Size", objectReferences.size() + 1); + dictionary.output(stream); + } + +} diff --git a/src/java/org/apache/fop/pdf/xref/ObjectReference.java b/src/java/org/apache/fop/pdf/xref/ObjectReference.java new file mode 100644 index 000000000..894a66ce6 --- /dev/null +++ b/src/java/org/apache/fop/pdf/xref/ObjectReference.java @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ + +package org.apache.fop.pdf.xref; + +import java.io.DataOutputStream; +import java.io.IOException; + +/** + * A reference to an indirect object. + */ +interface ObjectReference { + + /** + * Outputs this reference to the given stream, in the cross-reference stream format. + * For example, a object may output the bytes 01 00 00 00 00 00 00 01 ff 00 to + * indicate a non-compressed object (01), at offset 511 from the beginning of the file + * (00 00 00 00 00 00 01 ff), of generation number 0 (00). + * + * @param out the stream to which to output the reference + */ + void output(DataOutputStream out) throws IOException; +} diff --git a/src/java/org/apache/fop/pdf/xref/TrailerDictionary.java b/src/java/org/apache/fop/pdf/xref/TrailerDictionary.java new file mode 100644 index 000000000..d5d62522f --- /dev/null +++ b/src/java/org/apache/fop/pdf/xref/TrailerDictionary.java @@ -0,0 +1,94 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ + +package org.apache.fop.pdf.xref; + +import java.io.IOException; +import java.io.OutputStream; + +import org.apache.fop.pdf.PDFArray; +import org.apache.fop.pdf.PDFDictionary; +import org.apache.fop.pdf.PDFDocument; +import org.apache.fop.pdf.PDFEncryption; +import org.apache.fop.pdf.PDFInfo; +import org.apache.fop.pdf.PDFRoot; +import org.apache.fop.pdf.PDFText; +import org.apache.fop.pdf.PDFWritable; + +/** + * A data class representing entries of the file trailer dictionary. + */ +public class TrailerDictionary { + + private final PDFDictionary dictionary; + + public TrailerDictionary(PDFDocument pdfDocument) { + this.dictionary = new PDFDictionary(); + this.dictionary.setDocument(pdfDocument); + } + + /** Sets the value of the Root entry. */ + public TrailerDictionary setRoot(PDFRoot root) { + dictionary.put("/Root", root); + return this; + } + + /** Sets the value of the Info entry. */ + public TrailerDictionary setInfo(PDFInfo info) { + dictionary.put("/Info", info); + return this; + } + + /** Sets the value of the Encrypt entry. */ + public TrailerDictionary setEncryption(PDFEncryption encryption) { + dictionary.put("/Encrypt", encryption); + return this; + } + + /** Sets the value of the ID entry. */ + public TrailerDictionary setFileID(byte[] originalFileID, byte[] updatedFileID) { + // TODO this is ugly! Used to circumvent the fact that the file ID will be + // encrypted if directly stored as a byte array + class FileID implements PDFWritable { + + private final byte[] fileID; + + FileID(byte[] id) { + fileID = id; + } + + public void outputInline(OutputStream out, StringBuilder textBuffer) + throws IOException { + PDFDocument.flushTextBuffer(textBuffer, out); + String hex = PDFText.toHex(fileID, true); + byte[] encoded = hex.getBytes("US-ASCII"); + out.write(encoded); + } + + } + PDFArray fileID = new PDFArray(new FileID(originalFileID), new FileID(updatedFileID)); + dictionary.put("/ID", fileID); + return this; + } + + PDFDictionary getDictionary() { + return dictionary; + } + +} diff --git a/src/java/org/apache/fop/pdf/xref/UncompressedObjectReference.java b/src/java/org/apache/fop/pdf/xref/UncompressedObjectReference.java new file mode 100644 index 000000000..a54ec62e7 --- /dev/null +++ b/src/java/org/apache/fop/pdf/xref/UncompressedObjectReference.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ + +package org.apache.fop.pdf.xref; + +import java.io.DataOutputStream; +import java.io.IOException; + +/** + * A reference to an indirect object that is not stored in an object stream. + */ +class UncompressedObjectReference implements ObjectReference { + + final long offset; + + /** + * Creates a new reference. + * + * @param offset offset of the object from the beginning of the PDF file + */ + UncompressedObjectReference(long offset) { + this.offset = offset; + } + + public void output(DataOutputStream out) throws IOException { + out.write(1); + out.writeLong(offset); + out.write(0); + out.write(0); + } + +} diff --git a/src/java/org/apache/fop/render/pdf/PDFLogicalStructureHandler.java b/src/java/org/apache/fop/render/pdf/PDFLogicalStructureHandler.java index 88a6e9c22..1c9f9b49d 100644 --- a/src/java/org/apache/fop/render/pdf/PDFLogicalStructureHandler.java +++ b/src/java/org/apache/fop/render/pdf/PDFLogicalStructureHandler.java @@ -95,15 +95,15 @@ class PDFLogicalStructureHandler { */ PDFLogicalStructureHandler(PDFDocument pdfDoc) { this.pdfDoc = pdfDoc; - PDFStructTreeRoot structTreeRoot = pdfDoc.getFactory().makeStructTreeRoot(parentTree); - rootStructureElement = pdfDoc.getFactory().makeStructureElement( + PDFStructTreeRoot structTreeRoot = pdfDoc.makeStructTreeRoot(parentTree); + rootStructureElement = pdfDoc.makeStructureElement( FOToPDFRoleMap.mapFormattingObject("root", structTreeRoot), structTreeRoot); structTreeRoot.addKid(rootStructureElement); } PDFStructElem createPageSequence(Locale language) { - PDFStructElem structElemPart = pdfDoc.getFactory().makeStructureElement( + PDFStructElem structElemPart = pdfDoc.makeStructureElement( FOToPDFRoleMap.mapFormattingObject("page-sequence", rootStructureElement), rootStructureElement); rootStructureElement.addKid(structElemPart); diff --git a/src/java/org/apache/fop/render/pdf/PDFRenderingUtil.java b/src/java/org/apache/fop/render/pdf/PDFRenderingUtil.java index 83f6ccab6..53d259677 100644 --- a/src/java/org/apache/fop/render/pdf/PDFRenderingUtil.java +++ b/src/java/org/apache/fop/render/pdf/PDFRenderingUtil.java @@ -385,8 +385,8 @@ class PDFRenderingUtil implements PDFConfigurationConstants { if (maxPDFVersion == null) { this.pdfDoc = new PDFDocument(producer); } else { - VersionController controller = - VersionController.getFixedVersionController(maxPDFVersion); + VersionController controller + = VersionController.getFixedVersionController(maxPDFVersion); this.pdfDoc = new PDFDocument(producer, controller); } updateInfo(); @@ -411,6 +411,9 @@ class PDFRenderingUtil implements PDFConfigurationConstants { log.debug("PDF/A is active. Conformance Level: " + pdfAMode); addPDFA1OutputIntent(); } + + this.pdfDoc.enableAccessibility(userAgent.isAccessibilityEnabled()); + return this.pdfDoc; } diff --git a/src/java/org/apache/fop/render/pdf/PDFStructureTreeBuilder.java b/src/java/org/apache/fop/render/pdf/PDFStructureTreeBuilder.java index 11eba4ea4..2a2a4a392 100644 --- a/src/java/org/apache/fop/render/pdf/PDFStructureTreeBuilder.java +++ b/src/java/org/apache/fop/render/pdf/PDFStructureTreeBuilder.java @@ -65,7 +65,7 @@ class PDFStructureTreeBuilder implements StructureTreeEventHandler { PDFStructElem parent = ancestors.getFirst(); String role = attributes.getValue("role"); PDFStructElem created; - created = pdfFactory.makeStructureElement( + created = pdfFactory.getDocument().makeStructureElement( FOToPDFRoleMap.mapFormattingObject(name, role, parent, eventBroadcaster), parent); parent.addKid(created); ancestors.addFirst(created); @@ -84,7 +84,7 @@ class PDFStructureTreeBuilder implements StructureTreeEventHandler { PDFStructElem parent = ancestors.getFirst(); String role = attributes.getValue("role"); PDFStructElem created; - created = pdfFactory.makeStructureElement( + created = pdfFactory.getDocument().makeStructureElement( FOToPDFRoleMap.mapFormattingObject(name, role, parent, eventBroadcaster), parent); parent.addKid(created); String altTextNode = attributes.getValue(ExtensionElementMapping.URI, "alt-text"); @@ -104,7 +104,7 @@ class PDFStructureTreeBuilder implements StructureTreeEventHandler { if ("#PCDATA".equals(name)) { created = new PDFStructElem.Placeholder(parent, name); } else { - created = pdfFactory.makeStructureElement( + created = pdfFactory.getDocument().makeStructureElement( FOToPDFRoleMap.mapFormattingObject(name, role, parent, eventBroadcaster), parent); } diff --git a/test/accessibility/pdf/background-image_png_single.pdf b/test/accessibility/pdf/background-image_png_single.pdf deleted file mode 100644 index 356e4885c2ff9d1e30c5b60d78fb1c2ff883ae2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58309 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 Xby!Mt2~}12wYQ<)`SK;6O*{Vq=qY*e diff --git a/test/accessibility/pdf/complete.pdf b/test/accessibility/pdf/complete.pdf deleted file mode 100644 index cffb9e2cb52bb8d2239d079e70f6bfcccae155b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96722 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

No`KPQB|wHD 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⋘#U6y6%cXw3W#h*} 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

38sA+ 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 diff --git a/test/java/org/apache/fop/StandardTestSuite.java b/test/java/org/apache/fop/StandardTestSuite.java index eecdeb671..8649fdfa8 100644 --- a/test/java/org/apache/fop/StandardTestSuite.java +++ b/test/java/org/apache/fop/StandardTestSuite.java @@ -34,9 +34,10 @@ import org.apache.fop.fonts.type1.AdobeStandardEncodingTestCase; import org.apache.fop.image.loader.batik.ImageLoaderTestCase; import org.apache.fop.image.loader.batik.ImagePreloaderTestCase; import org.apache.fop.intermediate.IFMimickingTestCase; +import org.apache.fop.layoutmgr.PageSequenceLayoutManagerTestCase; +import org.apache.fop.pdf.PDFLibraryTestSuite; import org.apache.fop.render.extensions.prepress.PageBoundariesTestCase; import org.apache.fop.render.extensions.prepress.PageScaleTestCase; -import org.apache.fop.layoutmgr.PageSequenceLayoutManagerTestCase; import org.apache.fop.render.pdf.PDFAConformanceTestCase; import org.apache.fop.render.pdf.PDFCMapTestCase; import org.apache.fop.render.pdf.PDFEncodingTestCase; @@ -45,7 +46,6 @@ import org.apache.fop.render.pdf.RenderPDFTestSuite; import org.apache.fop.render.ps.PSTestSuite; import org.apache.fop.render.rtf.RichTextFormatTestSuite; import org.apache.fop.traits.MinOptMaxTestCase; -import org.apache.fop.pdf.PDFLibraryTestSuite; /** * Test suite for basic functionality of FOP. diff --git a/test/java/org/apache/fop/pdf/AbstractPDFStreamTestCase.java b/test/java/org/apache/fop/pdf/AbstractPDFStreamTestCase.java index b930a8b6d..95d5c0a1d 100644 --- a/test/java/org/apache/fop/pdf/AbstractPDFStreamTestCase.java +++ b/test/java/org/apache/fop/pdf/AbstractPDFStreamTestCase.java @@ -48,10 +48,10 @@ public class AbstractPDFStreamTestCase extends PDFObjectTestCase { encodedBytes[i++] = (byte) (in & 0xff); } } - private String startStream = "1 0 obj\n" + - "<< /Length 5 0 R /Filter /FlateDecode >>\n" + - "stream\n"; - private String endStream = "endstream\nendobj\n"; + private String startStream = "<< /Length 5 0 R /Filter /FlateDecode >>\n" + + "stream\n"; + + private String endStream = "endstream"; @Before public void setUp() { diff --git a/test/java/org/apache/fop/pdf/ObjectStreamManagerTestCase.java b/test/java/org/apache/fop/pdf/ObjectStreamManagerTestCase.java new file mode 100644 index 000000000..89d980029 --- /dev/null +++ b/test/java/org/apache/fop/pdf/ObjectStreamManagerTestCase.java @@ -0,0 +1,113 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ + +package org.apache.fop.pdf; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.IOException; +import java.io.OutputStream; +import java.util.List; + +import org.junit.Test; + +import org.apache.fop.pdf.xref.CompressedObjectReference; + +public class ObjectStreamManagerTestCase { + + private List compressedObjectReferences; + + private MockPdfDocument pdfDocument; + + @Test + public void add() { + final int expectedCapacity = 100; + final int numCompressedObjects = expectedCapacity * 2 + 1; + createCompressObjectReferences(numCompressedObjects); + assertEquals(numCompressedObjects, compressedObjectReferences.size()); + int objectStreamNumber1 = assertSameObjectStream(0, expectedCapacity); + int objectStreamNumber2 = assertSameObjectStream(expectedCapacity, expectedCapacity * 2); + int objectStreamNumber3 = assertSameObjectStream(expectedCapacity * 2, numCompressedObjects); + assertDifferent(objectStreamNumber1, objectStreamNumber2, objectStreamNumber3); + assertEquals(objectStreamNumber3, pdfDocument.previous.getObjectNumber()); + } + + private void createCompressObjectReferences(int numObjects) { + pdfDocument = new MockPdfDocument(); + ObjectStreamManager sut = new ObjectStreamManager(pdfDocument); + for (int obNum = 1; obNum <= numObjects; obNum++) { + sut.add(createCompressedObject(obNum)); + } + compressedObjectReferences = sut.getCompressedObjectReferences(); + } + + private static class MockPdfDocument extends PDFDocument { + + private ObjectStream previous; + + public MockPdfDocument() { + super(""); + } + + public void assignObjectNumber(PDFObject obj) { + super.assignObjectNumber(obj); + if (obj instanceof ObjectStream) { + ObjectStream objStream = (ObjectStream) obj; + ObjectStream previous = (ObjectStream) objStream.get("Extends"); + if (previous == null) { + assertEquals(this.previous, previous); + } + this.previous = objStream; + } + } + } + + private CompressedObject createCompressedObject(final int objectNumber) { + return new CompressedObject() { + + public int getObjectNumber() { + return objectNumber; + } + + public int output(OutputStream outputStream) throws IOException { + throw new UnsupportedOperationException(); + } + }; + } + + private int assertSameObjectStream(int from, int to) { + int objectStreamNumber = getObjectStreamNumber(from); + for (int i = from + 1; i < to; i++) { + assertEquals(objectStreamNumber, getObjectStreamNumber(i)); + } + return objectStreamNumber; + } + + private int getObjectStreamNumber(int index) { + return compressedObjectReferences.get(index).getObjectStreamNumber(); + } + + private void assertDifferent(int objectStreamNumber1, int objectStreamNumber2, + int objectStreamNumber3) { + assertTrue(objectStreamNumber1 != objectStreamNumber2); + assertTrue(objectStreamNumber1 != objectStreamNumber3); + assertTrue(objectStreamNumber2 != objectStreamNumber3); + } +} diff --git a/test/java/org/apache/fop/pdf/ObjectStreamTestCase.java b/test/java/org/apache/fop/pdf/ObjectStreamTestCase.java new file mode 100644 index 000000000..317828e4b --- /dev/null +++ b/test/java/org/apache/fop/pdf/ObjectStreamTestCase.java @@ -0,0 +1,131 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ + +package org.apache.fop.pdf; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.util.Arrays; +import java.util.List; + +import org.junit.Before; +import org.junit.Test; + +public class ObjectStreamTestCase { + + private static final String OBJECT_CONTENT = "<<\n /Foo True\n /Bar False\n>>\n"; + + private PDFDocument pdfDocument; + + private ObjectStream objectStream; + + private List compressedObjects; + + @Before + public void setUp() throws Exception { + pdfDocument = new PDFDocument("PDFObjectStreamTestCase"); + objectStream = new ObjectStream(); + pdfDocument.assignObjectNumber(objectStream); + compressedObjects = Arrays.asList(new MockCompressedObject(), new MockCompressedObject()); + } + + @Test + public void testSingleObjectStream() throws IOException { + populateObjectStream(); + testOutput(); + } + + @Test + public void testObjectStreamCollection() throws IOException { + objectStream = new ObjectStream(objectStream); + pdfDocument.assignObjectNumber(objectStream); + populateObjectStream(); + testOutput(); + } + + @Test(expected = IllegalStateException.class) + public void directObjectsAreNotAllowed() throws Exception { + objectStream.addObject(new MockCompressedObject()); + } + + @Test(expected = NullPointerException.class) + public void nullObjectsAreNotAllowed() throws Exception { + objectStream.addObject(null); + } + + private void testOutput() throws IOException { + String expected = getExpectedOutput(); + String actual = getActualOutput(); + assertEquals(expected, actual); + } + + private void populateObjectStream() { + for (MockCompressedObject obj : compressedObjects) { + pdfDocument.assignObjectNumber(obj); + objectStream.addObject(obj); + } + } + + private String getExpectedOutput() { + int numObs = compressedObjects.size(); + int objectStreamNumber = objectStream.getObjectNumber(); + int offsetsLength = 9; + StringBuilder expected = new StringBuilder(); + expected.append("<<\n"); + ObjectStream previous = (ObjectStream) objectStream.get("Extends"); + if (previous != null) { + expected.append(" /Extends ").append(previous.getObjectNumber()).append(" 0 R\n"); + } + expected.append(" /Type /ObjStm\n") + .append(" /N ").append(numObs).append("\n") + .append(" /First ").append(offsetsLength).append('\n') + .append(" /Length ").append(OBJECT_CONTENT.length() * 2 + offsetsLength + 1).append('\n') + .append(">>\n") + .append("stream\n"); + int offset = 0; + int num = 1; + for (PDFObject ob : compressedObjects) { + expected.append(objectStreamNumber + num++).append(' ').append(offset).append('\n'); + offset += ob.toPDFString().length(); + } + for (PDFObject ob : compressedObjects) { + expected.append(ob.toPDFString()); + } + expected.append("\nendstream"); + return expected.toString(); + } + + private String getActualOutput() throws IOException { + ByteArrayOutputStream actual = new ByteArrayOutputStream(); + objectStream.getFilterList().setDisableAllFilters(true); + objectStream.output(actual); + return actual.toString("US-ASCII"); + } + + private static class MockCompressedObject extends PDFObject implements CompressedObject { + + @Override + protected String toPDFString() { + return OBJECT_CONTENT; + } + } + +} diff --git a/test/java/org/apache/fop/pdf/PDFEncryptionJCETestCase.java b/test/java/org/apache/fop/pdf/PDFEncryptionJCETestCase.java index 235db7045..db10e656e 100644 --- a/test/java/org/apache/fop/pdf/PDFEncryptionJCETestCase.java +++ b/test/java/org/apache/fop/pdf/PDFEncryptionJCETestCase.java @@ -223,8 +223,6 @@ public class PDFEncryptionJCETestCase { final String digits = "\\d+"; final String hexDigits = "\\p{XDigit}+"; - dictionary.mustContain("1" + whitespace + "0" + whitespace + "obj"); - dictionary.mustContain("/Filter" + whitespace + "/Standard\\b"); dictionary.mustContain("/V" + whitespace + "(" + digits + ")") diff --git a/test/java/org/apache/fop/pdf/PDFFilterListTestCase.java b/test/java/org/apache/fop/pdf/PDFFilterListTestCase.java new file mode 100644 index 000000000..2504d871a --- /dev/null +++ b/test/java/org/apache/fop/pdf/PDFFilterListTestCase.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ + +package org.apache.fop.pdf; + +import static org.junit.Assert.assertFalse; + +import org.junit.Test; + +public class PDFFilterListTestCase { + + @Test + public void testFilterList() { + PDFFilterList filterList = new PDFFilterList(); + assertFalse(filterList.isInitialized()); + } +} diff --git a/test/java/org/apache/fop/pdf/PDFLibraryTestSuite.java b/test/java/org/apache/fop/pdf/PDFLibraryTestSuite.java index a0c4ea11f..c7a9dff89 100644 --- a/test/java/org/apache/fop/pdf/PDFLibraryTestSuite.java +++ b/test/java/org/apache/fop/pdf/PDFLibraryTestSuite.java @@ -40,7 +40,9 @@ import org.junit.runners.Suite.SuiteClasses; PDFNullTestCase.class, PDFNumsArrayTestCase.class, PDFRectangleTestCase.class, - PDFReferenceTestCase.class + PDFReferenceTestCase.class, + VersionTestCase.class, + VersionControllerTestCase.class }) public class PDFLibraryTestSuite { } diff --git a/test/java/org/apache/fop/pdf/PDFObjectTestCase.java b/test/java/org/apache/fop/pdf/PDFObjectTestCase.java index ee9512d88..10ffa3b27 100644 --- a/test/java/org/apache/fop/pdf/PDFObjectTestCase.java +++ b/test/java/org/apache/fop/pdf/PDFObjectTestCase.java @@ -40,10 +40,6 @@ public class PDFObjectTestCase { protected final PDFObject parent = new DummyPDFObject(); /** The test subject */ protected PDFObject pdfObjectUnderTest; - /** The string to begin describing the object "1 0 obj\n" */ - protected final String beginObj = "1 0 obj\n"; - /** The string to end describing the object "\nendobj\n" */ - protected final String endObj = "\nendobj\n"; private static class DummyPDFObject extends PDFObject { @@ -195,8 +191,7 @@ public class PDFObjectTestCase { outStream.reset(); object.setObjectNumber(1); // Test the length of the output string is returned correctly. - String string = beginObj + expectedString + endObj; - assertEquals(string.length(), object.output(outStream)); - assertEquals(string, outStream.toString()); + assertEquals(expectedString.length(), object.output(outStream)); + assertEquals(expectedString, outStream.toString()); } } diff --git a/test/java/org/apache/fop/pdf/PDFStreamTestCase.java b/test/java/org/apache/fop/pdf/PDFStreamTestCase.java new file mode 100644 index 000000000..93dcea511 --- /dev/null +++ b/test/java/org/apache/fop/pdf/PDFStreamTestCase.java @@ -0,0 +1,126 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ + +package org.apache.fop.pdf; + +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; + +import org.junit.Before; +import org.junit.Test; + +public class PDFStreamTestCase { + + private PDFStream stream; + + @Before + public void createStream() { + stream = new PDFStream(); + stream.setObjectNumber(1); + PDFDocument pdfDocument = new PDFDocument("Apache FOP"); + stream.setDocument(pdfDocument); + } + + @Test + public void testFilterSetup() { + testGetFilterList(); + testSetupFilterList(); + } + + private void testGetFilterList() { + PDFFilterList filterList = stream.getFilterList(); + assertFalse(filterList.isInitialized()); + assertEquals(0, filterList.getFilters().size()); + } + + private void testSetupFilterList() { + stream.setupFilterList(); + PDFFilterList filterList = stream.getFilterList(); + assertTrue(filterList.isInitialized()); + assertEquals(1, filterList.getFilters().size()); + PDFFilter filter = filterList.getFilters().get(0); + assertEquals("/FlateDecode", filter.getName()); + } + + @Test + public void customFilter() { + PDFFilterList filters = stream.getFilterList(); + filters.addFilter("null"); + assertTrue(filters.isInitialized()); + assertEquals(1, filters.getFilters().size()); + PDFFilter filter = filters.getFilters().get(0); + assertEquals("", filter.getName()); + } + + @Test + public void testStream() throws IOException { + PDFFilterList filters = stream.getFilterList(); + filters.addFilter("null"); + byte[] bytes = createSampleData(); + stream.setData(bytes); + ByteArrayOutputStream actual = new ByteArrayOutputStream(); + stream.outputRawStreamData(actual); + assertArrayEquals(bytes, actual.toByteArray()); + } + + @Test + public void testEncodeStream() throws IOException { + PDFFilterList filters = stream.getFilterList(); + filters.addFilter("null"); + byte[] bytes = createSampleData(); + stream.setData(bytes); + ByteArrayOutputStream actual = new ByteArrayOutputStream(); + StreamCache streamCache = stream.encodeStream(); + streamCache.outputContents(actual); + assertArrayEquals(bytes, actual.toByteArray()); + } + + @Test + public void testEncodeAndWriteStream() throws IOException { + PDFFilterList filters = stream.getFilterList(); + filters.addFilter("null"); + byte[] bytes = createSampleData(); + stream.setData(bytes); + ByteArrayOutputStream actual = new ByteArrayOutputStream(); + PDFNumber number = new PDFNumber(); + stream.encodeAndWriteStream(actual, number); + assertArrayEquals(createSampleStreamData(), actual.toByteArray()); + } + + private byte[] createSampleData() { + byte[] bytes = new byte[10]; + for (int i = 0; i < 10; i++) { + bytes[i] = (byte) i; + } + return bytes; + } + + private byte[] createSampleStreamData() throws IOException { + ByteArrayOutputStream stream = new ByteArrayOutputStream(); + stream.write("stream\n".getBytes("US-ASCII")); + stream.write(createSampleData()); + stream.write("\nendstream".getBytes("US-ASCII")); + return stream.toByteArray(); + } +} diff --git a/test/java/org/apache/fop/pdf/xref/CompressedObjectReferenceTestCase.java b/test/java/org/apache/fop/pdf/xref/CompressedObjectReferenceTestCase.java new file mode 100644 index 000000000..8b103d277 --- /dev/null +++ b/test/java/org/apache/fop/pdf/xref/CompressedObjectReferenceTestCase.java @@ -0,0 +1,50 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ + +package org.apache.fop.pdf.xref; + +import static org.junit.Assert.assertArrayEquals; + +import java.io.IOException; +import java.util.Arrays; +import java.util.List; + +import org.junit.Test; + +public class CompressedObjectReferenceTestCase extends ObjectReferenceTest { + + @Test + public void testOutput() throws IOException { + runTest(Arrays.asList(0, 0, 0, 0, 0, 0, 0, 0), 0); + runTest(Arrays.asList(0, 0, 0, 0, 0, 0, 0, 0x1), 4); + runTest(Arrays.asList(0, 0, 0, 0, 0, 0, 0, 0xf3), 16); + runTest(Arrays.asList(0, 0, 0, 0, 0, 0, 0x5, 0xf7), 128); + runTest(Arrays.asList(0, 0, 0, 0, 0, 0x9, 0xfb, 0xd), 0xae); + runTest(Arrays.asList(0, 0, 0, 0, 0x11, 0xff, 0x15, 0xe9), 0xff); + } + + private void runTest(List expectedObjectStreamBytes, int index) throws IOException { + int objectStreamNumber = (int) computeNumberFromBytes(expectedObjectStreamBytes); + sut = new CompressedObjectReference(0, objectStreamNumber, index); + byte[] expected = createExpectedOutput((byte) 2, expectedObjectStreamBytes, index); + byte[] actual = getActualOutput(); + assertArrayEquals(expected, actual); + } + +} diff --git a/test/java/org/apache/fop/pdf/xref/CrossReferenceObjectTest.java b/test/java/org/apache/fop/pdf/xref/CrossReferenceObjectTest.java new file mode 100644 index 000000000..df1b86e53 --- /dev/null +++ b/test/java/org/apache/fop/pdf/xref/CrossReferenceObjectTest.java @@ -0,0 +1,106 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ + +package org.apache.fop.pdf.xref; + +import static org.junit.Assert.assertArrayEquals; + +import java.io.ByteArrayOutputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.io.UnsupportedEncodingException; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +import org.junit.Before; + +import org.apache.fop.pdf.PDFDocument; +import org.apache.fop.pdf.PDFInfo; +import org.apache.fop.pdf.PDFPages; +import org.apache.fop.pdf.PDFRoot; + +public abstract class CrossReferenceObjectTest { + + protected static final int STARTXREF = 12345; + + protected PDFDocument pdfDocument; + + protected TrailerDictionary trailerDictionary; + + private CrossReferenceObject crossReferenceObject; + + @Before + public void setUp() throws UnsupportedEncodingException { + pdfDocument = new PDFDocument("Apache FOP"); + Map> filterMap = pdfDocument.getFilterMap(); + filterMap.put("default", Arrays.asList("null")); + PDFRoot root = new PDFRoot(1, new PDFPages(10)); + PDFInfo info = new PDFInfo(); + info.setObjectNumber(2); + byte[] fileID = + new byte[] {0x01, 0x23, 0x45, 0x67, (byte) 0x89, (byte) 0xab, (byte) 0xcd, (byte) 0xef}; + trailerDictionary = new TrailerDictionary(pdfDocument) + .setRoot(root) + .setInfo(info) + .setFileID(fileID, fileID); + } + + protected void runTest() throws IOException { + crossReferenceObject = createCrossReferenceObject(); + byte[] expected = createExpectedCrossReferenceData(); + byte[] actual = createActualCrossReferenceData(); + assertArrayEquals(expected, actual); + } + + protected abstract CrossReferenceObject createCrossReferenceObject(); + + protected abstract byte[] createExpectedCrossReferenceData() throws IOException; + + protected byte[] createActualCrossReferenceData() throws IOException { + ByteArrayOutputStream pdf = new ByteArrayOutputStream(); + crossReferenceObject.output(pdf); + pdf.close(); + return pdf.toByteArray(); + } + + protected byte[] getBytes(StringBuilder stringBuilder) { + return getBytes(stringBuilder.toString()); + } + + protected byte[] getBytes(String string) { + try { + return string.getBytes("US-ASCII"); + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(e); + } + } + + /** + * Outputs the given byte array to a file with the given name. Use for debugging + * purpose. + */ + protected void streamToFile(byte[] bytes, String filename) throws IOException { + OutputStream output = new FileOutputStream(filename); + output.write(bytes); + output.close(); + } + +} diff --git a/test/java/org/apache/fop/pdf/xref/CrossReferenceStreamTestCase.java b/test/java/org/apache/fop/pdf/xref/CrossReferenceStreamTestCase.java new file mode 100644 index 000000000..3e609635d --- /dev/null +++ b/test/java/org/apache/fop/pdf/xref/CrossReferenceStreamTestCase.java @@ -0,0 +1,142 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ + +package org.apache.fop.pdf.xref; + +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.junit.Test; + +public class CrossReferenceStreamTestCase extends CrossReferenceObjectTest { + + private List uncompressedObjectOffsets; + + private List compressedObjectReferences; + + @Test + public void testWithNoOffset() throws IOException { + List emptyList = Collections.emptyList(); + test(emptyList); + } + + @Test + public void testWithOffsets() throws IOException { + test(new ArrayList(Arrays.asList(0L, 1L, 2L, 3L, 4L))); + } + + @Test + public void testWithBigOffsets() throws IOException { + test(new ArrayList(Arrays.asList(0xffL, 0xffffL, 0xffffffffL, 0xffffffffffffffffL))); + } + + @Test + public void testWithObjectStreams1() throws IOException { + List compressedObjectReferences = + Arrays.asList(new CompressedObjectReference(2, 1, 0)); + test(Arrays.asList(0L, null), compressedObjectReferences); + } + + @Test + public void testWithObjectStreams2() throws IOException { + int numIndirectObjects = 2; + int numCompressedObjects = 1; + List indirectObjectOffsets + = new ArrayList(numIndirectObjects + numCompressedObjects); + for (long i = 0; i < numIndirectObjects; i++) { + indirectObjectOffsets.add(i); + } + List compressedObjectReferences + = new ArrayList(); + for (int index = 0; index < numCompressedObjects; index++) { + indirectObjectOffsets.add(null); + int obNum = numIndirectObjects + index + 1; + compressedObjectReferences.add(new CompressedObjectReference(obNum, + numIndirectObjects, index)); + } + test(indirectObjectOffsets, compressedObjectReferences); + } + + private void test(List indirectObjectOffsets) throws IOException { + List compressedObjectReferences = Collections.emptyList(); + test(indirectObjectOffsets, compressedObjectReferences); + } + + private void test(List indirectObjectOffsets, + List compressedObjectReferences) throws IOException { + this.uncompressedObjectOffsets = indirectObjectOffsets; + this.compressedObjectReferences = compressedObjectReferences; + runTest(); + } + + @Override + protected CrossReferenceObject createCrossReferenceObject() { + return new CrossReferenceStream(pdfDocument, + uncompressedObjectOffsets.size() + 1, + trailerDictionary, + STARTXREF, + uncompressedObjectOffsets, + compressedObjectReferences); + } + + @Override + protected byte[] createExpectedCrossReferenceData() throws IOException { + List objectReferences + = new ArrayList(uncompressedObjectOffsets.size()); + for (Long offset : uncompressedObjectOffsets) { + objectReferences.add(offset == null ? null : new UncompressedObjectReference(offset)); + } + for (CompressedObjectReference ref : compressedObjectReferences) { + objectReferences.set(ref.getObjectNumber() - 1, ref); + } + int maxObjectNumber = objectReferences.size() + 1; + ByteArrayOutputStream stream = new ByteArrayOutputStream(); + StringBuilder expected = new StringBuilder(256); + expected.append(maxObjectNumber + " 0 obj\n") + .append("<<\n") + .append(" /Root 1 0 R\n") + .append(" /Info 2 0 R\n") + .append(" /ID [<0123456789ABCDEF> <0123456789ABCDEF>]\n") + .append(" /Type /XRef\n") + .append(" /Size ").append(Integer.toString(maxObjectNumber + 1)).append('\n') + .append(" /W [1 8 2]\n") + .append(" /Length ").append(Integer.toString((maxObjectNumber + 1) * 11 + 1)).append('\n') + .append(">>\n") + .append("stream\n"); + stream.write(getBytes(expected)); + DataOutputStream data = new DataOutputStream(stream); + data.write(new byte[] {0, 0, 0, 0, 0, 0, 0, 0, 0, (byte) 0xff, (byte) 0xff}); + for (ObjectReference objectReference : objectReferences) { + objectReference.output(data); + } + data.write(1); + data.writeLong(STARTXREF); + data.write(0); + data.write(0); + data.close(); + stream.write(getBytes("\nendstream\nendobj\n")); + return stream.toByteArray(); + } + +} diff --git a/test/java/org/apache/fop/pdf/xref/CrossReferenceTableTestCase.java b/test/java/org/apache/fop/pdf/xref/CrossReferenceTableTestCase.java new file mode 100644 index 000000000..ceff96a91 --- /dev/null +++ b/test/java/org/apache/fop/pdf/xref/CrossReferenceTableTestCase.java @@ -0,0 +1,80 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ + +package org.apache.fop.pdf.xref; + +import java.io.IOException; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.junit.Test; + +public class CrossReferenceTableTestCase extends CrossReferenceObjectTest { + + private List offsets; + + @Test + public void testWithNoOffset() throws IOException { + List emptyList = Collections.emptyList(); + runTest(emptyList); + } + + @Test + public void testWithOffsets() throws IOException { + runTest(Arrays.asList(0L, 1L, 2L, 3L, 4L)); + } + + @Test + public void testWithBigOffsets() throws IOException { + runTest(Arrays.asList(0xffL, 0xffffL, 0x7fffffffL)); + } + + private void runTest(List offsets) throws IOException { + this.offsets = offsets; + runTest(); + } + + @Override + protected CrossReferenceObject createCrossReferenceObject() { + return new CrossReferenceTable(trailerDictionary, STARTXREF, offsets); + } + + @Override + protected byte[] createExpectedCrossReferenceData() throws IOException { + StringBuilder expected = new StringBuilder(256); + expected.append("xref\n0 ") + .append(offsets.size() + 1) + .append("\n0000000000 65535 f \n"); + for (Long objectReference : offsets) { + final String padding = "0000000000"; + String s = String.valueOf(objectReference).toString(); + String loc = padding.substring(s.length()) + s; + expected.append(loc).append(" 00000 n \n"); + } + expected.append("trailer\n<<\n") + .append(" /Root 1 0 R\n") + .append(" /Info 2 0 R\n") + .append(" /ID [<0123456789ABCDEF> <0123456789ABCDEF>]\n") + .append(" /Size ").append(Integer.toString(offsets.size() + 1)).append('\n') + .append(">>\n"); + return getBytes(expected); + } + +} diff --git a/test/java/org/apache/fop/pdf/xref/ObjectReferenceTest.java b/test/java/org/apache/fop/pdf/xref/ObjectReferenceTest.java new file mode 100644 index 000000000..fada2794c --- /dev/null +++ b/test/java/org/apache/fop/pdf/xref/ObjectReferenceTest.java @@ -0,0 +1,62 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ + +package org.apache.fop.pdf.xref; + +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.util.List; + +abstract class ObjectReferenceTest { + + protected ObjectReference sut; + + protected long computeNumberFromBytes(List expectedOffsetBytes) { + assert expectedOffsetBytes.size() <= 8; + long offset = 0; + for (int b : expectedOffsetBytes) { + offset = offset << 8 | b; + } + return offset; + } + + protected byte[] createExpectedOutput(byte field1, List field2, int field3) { + assert field2.size() == 8; + assert (field3 & 0xffff) == field3; + byte[] expected = new byte[11]; + int index = 0; + expected[index++] = field1; + for (Integer b : field2) { + expected[index++] = b.byteValue(); + } + expected[index++] = (byte) ((field3 & 0xff00) >> 8); + expected[index++] = (byte) (field3 & 0xff); + return expected; + } + + protected byte[] getActualOutput() throws IOException { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + DataOutputStream dataOutputStream = new DataOutputStream(out); + sut.output(dataOutputStream); + dataOutputStream.close(); + return out.toByteArray(); + } + +} diff --git a/test/java/org/apache/fop/pdf/xref/UncompressedObjectReferenceTestCase.java b/test/java/org/apache/fop/pdf/xref/UncompressedObjectReferenceTestCase.java new file mode 100644 index 000000000..b147084e8 --- /dev/null +++ b/test/java/org/apache/fop/pdf/xref/UncompressedObjectReferenceTestCase.java @@ -0,0 +1,90 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* $Id$ */ + +package org.apache.fop.pdf.xref; + +import static org.junit.Assert.assertArrayEquals; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import org.junit.Test; + +public class UncompressedObjectReferenceTestCase extends ObjectReferenceTest { + + @Test + public void test1ByteOffsets() throws IOException { + run1ByteOffsetTest(0x0); + run1ByteOffsetTest(0xf); + run1ByteOffsetTest(0x10); + run1ByteOffsetTest(0xff); + } + + private void run1ByteOffsetTest(int offset) throws IOException { + runIntegerOffsetTest(Arrays.asList(0, 0, 0, offset)); + } + + @Test + public void test2ByteOffsets() throws IOException { + runIntegerOffsetTest(Arrays.asList(0, 0, 1, 0xff)); + runIntegerOffsetTest(Arrays.asList(0, 0, 0xa0, 0xff)); + } + + @Test + public void test3ByteOffsets() throws IOException { + runIntegerOffsetTest(Arrays.asList(0, 2, 0x12, 0x34)); + runIntegerOffsetTest(Arrays.asList(0, 0xee, 0x56, 0x78)); + } + + @Test + public void test4ByteOffsets() throws IOException { + runIntegerOffsetTest(Arrays.asList(0x6, 0x12, 0x34, 0x56)); + runIntegerOffsetTest(Arrays.asList(0xf1, 0x9a, 0xbc, 0xde)); + } + + @Test + public void test5ByteOffsets() throws IOException { + runTest(Arrays.asList(0, 0, 0, 0x7, 0x78, 0x9a, 0xbc, 0xde)); + runTest(Arrays.asList(0, 0, 0, 0xbf, 0xf0, 0, 0x1, 0x2)); + } + + @Test + public void test8ByteOffsets() throws IOException { + runTest(Arrays.asList(0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8)); + runTest(Arrays.asList(0xf9, 0xe8, 0xd7, 0xc6, 0xb5, 0xa4, 0x93, 0x82)); + } + + private void runIntegerOffsetTest(List expectedOffsetBytes) throws IOException { + List expectedLongOffset = new ArrayList(8); + expectedLongOffset.addAll(Arrays.asList(0, 0, 0, 0)); + expectedLongOffset.addAll(expectedOffsetBytes); + runTest(expectedLongOffset); + } + + private void runTest(List expectedOffsetBytes) throws IOException { + long offset = computeNumberFromBytes(expectedOffsetBytes); + sut = new UncompressedObjectReference(offset); + byte[] expected = createExpectedOutput((byte) 1, expectedOffsetBytes, (byte) 0); + byte[] actual = getActualOutput(); + assertArrayEquals(expected, actual); + } + +} diff --git a/test/pdf/1.5/fop.xconf b/test/pdf/1.5/fop.xconf new file mode 100644 index 000000000..ab8bc7cbf --- /dev/null +++ b/test/pdf/1.5/fop.xconf @@ -0,0 +1,24 @@ + + + true + 144 + false + ../../resources/fonts/ttf/ + + + 1.5 + + null + + + flate + ascii-85 + + + + + + + + + diff --git a/test/pdf/1.5/test.fo b/test/pdf/1.5/test.fo new file mode 100644 index 000000000..23e8405f3 --- /dev/null +++ b/test/pdf/1.5/test.fo @@ -0,0 +1,207 @@ + + + + + + + + + + + + + This is the page headerPage + + + + + + + (There’s another page sequence below.) + About Apache FOP + It is a print formatter driven by XSL formatting objects (XSL-FO) and an output + independent formatter1See the FOP + website for more + information. FOP has a nice logo: + + + + + + Header 1.1 + + + Header 1.2 + + + + + + + Cell 1.1 + + + Cell 1.2 + + + + + Cell 2.1 + + + Cell 2.2 + + + + + Apache FOP (Formatting Objects Processor) is a print formatter driven by XSL + formatting objects (XSL-FO) and an output independent formatter. It is a Java application + that reads a formatting object (FO) tree and renders the resulting pages to a specified + output. + This fo:block element spans all the columns of the + document. This is intended to test the abilities of the text-to-speech program. + And now we are back to normal content flowing in two columns. Let’s start a numbered + list: + + + + 1. + + + + Line 1 of item 1 + Line 2 of item 1 + Line 3 of item 1 + + + + + + 2. + + + + Line 1 of item 2 + Line 2 of item 2 + Line 3 of item 2 + + + + + And now we are going to see how a second page sequence is handled. + + + + + This is the page headerPage + + + + + + + Apache FOP (Formatting Objects Processor) is a print formatter driven by + XSL formatting objects (XSL-FO) and an output independent formatter1See the + FOP + website for more + information. It is a Java application that + reads a formatting object (FO) tree and renders the resulting pages to a specified + output. + + + + + Header 1.1 + + + Header 1.2 + + + + + + + Cell 1.1 + + + Cell 1.2 + + + + + Cell 2.1 + + + Cell 2.2 + + + + + Apache FOP (Formatting Objects Processor) est une + application de mise en page de documents respectant le standard XSL-FO. À partir d’un + document au format XSL-FO, cette application écrite en Java effectue une mise en page et + renvoie un document prêt pour impression. + This fo:block element spans all the columns of the + document. This is intended to test the abilities of the text-to-speech program. + And now we are back to normal content flowing in two columns. Let’s start a numbered + list: + + + + 1. + + + + Line 1 of item 1 + Line 2 of item 1 + Line 3 of item 1 + + + + + + 2. + + + + Line 1 of item 2 + Line 2 of item 2 + Line 3 of item 2 + + + + + The end of the document has now been reached. + + + diff --git a/test/pdf/1.5/test.pdf b/test/pdf/1.5/test.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4c25c084760803255524213aeb110c8bea2fd89b GIT binary patch literal 94918 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%0A8;@ULb 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 - + diff --git a/test/accessibility/background-image_jpg_single.fo b/test/pdf/accessibility/background-image_jpg_single.fo similarity index 95% rename from test/accessibility/background-image_jpg_single.fo rename to test/pdf/accessibility/background-image_jpg_single.fo index 335353e03..1efd10deb 100644 --- a/test/accessibility/background-image_jpg_single.fo +++ b/test/pdf/accessibility/background-image_jpg_single.fo @@ -20,7 +20,7 @@ - diff --git a/test/accessibility/background-image_png_repeat.fo b/test/pdf/accessibility/background-image_png_repeat.fo similarity index 95% rename from test/accessibility/background-image_png_repeat.fo rename to test/pdf/accessibility/background-image_png_repeat.fo index 5e4a8ba0d..9bbc3e47c 100644 --- a/test/accessibility/background-image_png_repeat.fo +++ b/test/pdf/accessibility/background-image_png_repeat.fo @@ -20,7 +20,7 @@ - + diff --git a/test/accessibility/background-image_png_single.fo b/test/pdf/accessibility/background-image_png_single.fo similarity index 94% rename from test/accessibility/background-image_png_single.fo rename to test/pdf/accessibility/background-image_png_single.fo index 90067ec53..0cff427b6 100644 --- a/test/accessibility/background-image_png_single.fo +++ b/test/pdf/accessibility/background-image_png_single.fo @@ -20,7 +20,7 @@ - diff --git a/test/accessibility/background-image_svg_repeat.fo b/test/pdf/accessibility/background-image_svg_repeat.fo similarity index 95% rename from test/accessibility/background-image_svg_repeat.fo rename to test/pdf/accessibility/background-image_svg_repeat.fo index 02520b6cf..ba69947cc 100644 --- a/test/accessibility/background-image_svg_repeat.fo +++ b/test/pdf/accessibility/background-image_svg_repeat.fo @@ -20,7 +20,7 @@ - + diff --git a/test/accessibility/background-image_svg_single.fo b/test/pdf/accessibility/background-image_svg_single.fo similarity index 95% rename from test/accessibility/background-image_svg_single.fo rename to test/pdf/accessibility/background-image_svg_single.fo index 3029f32ec..efe91c65b 100644 --- a/test/accessibility/background-image_svg_single.fo +++ b/test/pdf/accessibility/background-image_svg_single.fo @@ -20,7 +20,7 @@ - diff --git a/test/accessibility/complete.fo b/test/pdf/accessibility/complete.fo similarity index 99% rename from test/accessibility/complete.fo rename to test/pdf/accessibility/complete.fo index 75684750c..23e8405f3 100644 --- a/test/accessibility/complete.fo +++ b/test/pdf/accessibility/complete.fo @@ -45,7 +45,7 @@ external-destination="http://xmlgraphics.apache.org/fop/">FOP website for more information. FOP has a nice logo: - diff --git a/test/accessibility/fop.xconf b/test/pdf/accessibility/fop.xconf similarity index 92% rename from test/accessibility/fop.xconf rename to test/pdf/accessibility/fop.xconf index 8c5dc2bd5..adfccd2cc 100644 --- a/test/accessibility/fop.xconf +++ b/test/pdf/accessibility/fop.xconf @@ -3,7 +3,7 @@ true 144 false - ../resources/fonts/ + ../../resources/fonts/ttf/ diff --git a/test/accessibility/image_jpg.fo b/test/pdf/accessibility/image_jpg.fo similarity index 97% rename from test/accessibility/image_jpg.fo rename to test/pdf/accessibility/image_jpg.fo index 5fe36f61a..2a2b60076 100644 --- a/test/accessibility/image_jpg.fo +++ b/test/pdf/accessibility/image_jpg.fo @@ -27,7 +27,7 @@ This document contains an image in the JPEG format: . Here is the end of the text. diff --git a/test/accessibility/image_png.fo b/test/pdf/accessibility/image_png.fo similarity index 96% rename from test/accessibility/image_png.fo rename to test/pdf/accessibility/image_png.fo index b529aa8c8..52ee80ac5 100644 --- a/test/accessibility/image_png.fo +++ b/test/pdf/accessibility/image_png.fo @@ -27,7 +27,7 @@ This document contains an image in the PNG format: . Here is the end of the text. diff --git a/test/accessibility/image_svg.fo b/test/pdf/accessibility/image_svg.fo similarity index 97% rename from test/accessibility/image_svg.fo rename to test/pdf/accessibility/image_svg.fo index bbc77fe65..96cfedee3 100644 --- a/test/accessibility/image_svg.fo +++ b/test/pdf/accessibility/image_svg.fo @@ -27,7 +27,7 @@ This document contains an image in the SVG format: . And here is the same image as an instream-foreign-object: This document contains an image in the WMF format: Here is the end of the text. diff --git a/test/accessibility/leader.fo b/test/pdf/accessibility/leader.fo similarity index 95% rename from test/accessibility/leader.fo rename to test/pdf/accessibility/leader.fo index ffd768021..4b395cc69 100644 --- a/test/accessibility/leader.fo +++ b/test/pdf/accessibility/leader.fo @@ -32,7 +32,7 @@ This is a text followed by a leader with leader-pattern=​"use-content", the content being images:1 + src="../../resources/images/list-item.png"/>1 diff --git a/test/accessibility/links.fo b/test/pdf/accessibility/links.fo similarity index 100% rename from test/accessibility/links.fo rename to test/pdf/accessibility/links.fo diff --git a/test/accessibility/pdf/background-image_jpg_repeat.pdf b/test/pdf/accessibility/pdf/background-image_jpg_repeat.pdf similarity index 96% rename from test/accessibility/pdf/background-image_jpg_repeat.pdf rename to test/pdf/accessibility/pdf/background-image_jpg_repeat.pdf index 22176175755ca4b25849b3172b88e14b16a0ff4a..9b4a7fc20382c1b09d2464cc340f3800c4d3f34f 100644 GIT binary patch delta 335 zcmZom=}Vc=$Z2e3U}$D&WMaIr%ZiWJSl7rP#L&#j(8$Wfc=JU*b4FC5$)W<;s3Mzt z1zt*R4%L-m+FY)Ek8yH=eu%c2nW=&S2q@$!aDf?yhUP{l7-ANd29w|G`|ubUn3%&P zC-2sm)iyGK^Wg><8yLdWAjB*TCifeBtXELb56aIkQ7}?4Pzd4z@;vj>@)dvfVCWdAPE=De9u1;wm2=CZTn QDlSPZDyb-%{N0cr0P*cnwEzGB delta 347 zcmeB6X-k>V$Z2R~ZfIy=Xl%N%%ZiWJP}j&j#L&>nz|hLrbn`_%b4FC5$)W<;s3Mzt z1zt*Ro~V1DadVlr4AbO7{ou&~1|s5y7N!aYAfS+^zy)R)0xdC|{9fND#L(2h0z=Zw z08@jRg&BrAa|;6uF$+`6$^8Z&>-B>(t5Ow=jJfoK^7Bg+j1&wMg1GcO^V0GaOrUHR zg=iZ`OJiqKCubL9Cl?npLnBvXBXbiMXBSs9V>1&oGgl`&1;R>Vx$Nw?ic1oUN-By{ T)3^+c3@r`Wxl~nM{oS|#LV_hSI5JNL7LnA8_jg6#ni@>rs4pyLW~^WU0t$HwTwsQwp}CReWIughZVL-D znA~J3eK{=?I2W$e(8K_y1TJP|XgT?v{>OR+1^uA>{1OEt1p|d3E+Ee{FD+le1kQ6& zh_*2_bTxD`vM_UYHg$4!c5*Z}bTTnFws14FG`BD@FmSO`Agm-7WOi_7RjPuKF_)bk QS8+*VQAtJ7LtP{D5JN*N14Aogv&|Rz%o$OICW{JWql#?q z74VSS{6XhF%=mkw)r!OXEWTIdI0t$HwTwsQwp`oS0WIui1U}F<=3^@}M zO!cNlrWoqX3@tImEG;I#)BjknADmg0s$gWyr5}`^U!q{7V4x7hrSF-SmahOb9L#o6 zh_-Qbb}}}!a5gkDF>!Qpa&mGpGBb8HHnKEuGcz+cwY0QTAgm;o%g&CgxFoTtq@pM_ Tjmyx;z}SGDOI6j?-;E0Z1SC{f diff --git a/test/accessibility/pdf/background-image_png_repeat.pdf b/test/pdf/accessibility/pdf/background-image_png_repeat.pdf similarity index 98% rename from test/accessibility/pdf/background-image_png_repeat.pdf rename to test/pdf/accessibility/pdf/background-image_png_repeat.pdf index 52da4020ac95276d873a9b2ab6ed09b99bc65d83..ccb2cf089137b3ae39966d1b8767b26fe0ca4ffa 100644 GIT binary patch delta 322 zcmaDlh3V}SrU{Ll#zqE)W`;&4CL6n~_;`(VjSNBz&8!TKtV~QcU*t1qL=~DWDv*sT zvbk5lqj>X{RvD(v*P8D!PCnlr%xq$0F?nN$u$YOtf&mC9X&*87Z`uQtmtO}@|`GW@cgPW@PHS8)IU diff --git a/test/pdf/accessibility/pdf/background-image_png_single.pdf b/test/pdf/accessibility/pdf/background-image_png_single.pdf new file mode 100644 index 0000000000000000000000000000000000000000..902520b952f10e3d27cbf265fa18a3b7fbd47120 GIT binary patch literal 58648 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 IonBY@A94rMUH||9 literal 0 HcmV?d00001 diff --git a/test/accessibility/pdf/background-image_svg_repeat.pdf b/test/pdf/accessibility/pdf/background-image_svg_repeat.pdf similarity index 96% rename from test/accessibility/pdf/background-image_svg_repeat.pdf rename to test/pdf/accessibility/pdf/background-image_svg_repeat.pdf index 0bce2404de1579bc9ebc4e1f33de9f986a069060..a720a5b9acfec60d8fbf4a04996ace0c82e8155f 100644 GIT binary patch delta 664 zcmZvY+e#Zj7{?jG3r8A*wiOiN!&9Y2-1&Cru$wU|NwyS(+L(GH3W^atkZ4>`dQ(dA zqJ=_XUO-qL03I-fa9hz)zNFa!bxvGA}yA7 z%G>+YH6-=i90hAcnalY}8_m~mJ8jbY$zR6X=p=I|7A8BsaE$s6~T3BI!#Zatx9xO QDeh7xFt(X>7qMZeYybcN delta 695 zcmZ{gJxc>Y5Qf>Pg^P-XA0R14V?-3Wo4vc;+cTVsmjpo&jTRyz7Eweon4}Ov#KJ}t zg+mJ~dn?(>KOlmIr1BToTM2faN#u-&%fQY%`^-Dc-ky-B6LNXnicBEtXyW~;)6tG& zOe`WgIyxq*N{1kgCBM6KyRo9qJ6~EzR`qLVM7{Mogk=3nqFa69AW=(w<2C)R4&#Yf z6+0(t1Z0RMiMkp1Zc~*+ThkA+Ioyc6j?|q$RPz|roF0R#K5MO(J}a~?lC@{@i=<6=fZE~A7+)hE-jVUi{<@deuE-sHqvA=J(rM@CR6w;?y6IGav;D4F(>GG4_bqBa4)hZdr?I^yAI$eTXBXOMIs7}5CBNlLO delta 479 zcmX@@d){|KBd4K}xuKzfp^4GPE-OA>LtP{D5JN*N14Anlqs@)j=vQF|m$voaeQ7)|byFWxMn!#xTji(gYz^Qk0mPlUl@OW5cB%oLQBs zU}VCjAC#Y8qF|(8pb*5R@0pjDuK?5lX1gdv+gLhU7@D~_Ih(nd7`YfayIDFJn7J7n wnVDM}8yUDbx!NfpDFMb0RyDC)c6MCFC5c5P6-B9OT$aWLhFq$uuKsRZ0NGh_E&u=k diff --git a/test/pdf/accessibility/pdf/complete.pdf b/test/pdf/accessibility/pdf/complete.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f1dc105594fdac372f2eac90e4efeec1c5d22bde GIT binary patch literal 97061 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 AVgLXD literal 0 HcmV?d00001 diff --git a/test/accessibility/pdf/image_jpg.pdf b/test/pdf/accessibility/pdf/image_jpg.pdf similarity index 94% rename from test/accessibility/pdf/image_jpg.pdf rename to test/pdf/accessibility/pdf/image_jpg.pdf index cb004bbd22b7faeef909a5337fd27a96303d9369..e943c83e5943709a172dc8f2ebae6a655f139db9 100644 GIT binary patch delta 365 zcmaFo_RVcVBd4*EfuWh9k*V>V_hSI5JNL7LnA9w zE|lk@5N%`b}cX_WNc)oKv+pE$n43ln2AE>%@me>W}wKU7v5 delta 385 zcmez7_ReiWBd4K}xuKzfp^5p%E-OA>LtP{D5JN*N14Anl^UW9e%o$OICW{JWql#?q z74YKO{7mjXS~#1TIvQ9Qo13{=I+~c6I$An9Sy;NcnwYt{88{l*DG*i? c%VlTBRa}x-R8motn#N^eVr<4Wxj>l>07AlBH2?qr diff --git a/test/pdf/accessibility/pdf/image_png.pdf b/test/pdf/accessibility/pdf/image_png.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5ea44673bbdd2d2beb1a5b81fba3ee06ab2a94f8 GIT binary patch literal 58119 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 a{mU`GAoHRa_70J8;5*Zhj*dG0uJk|ow@>*1 literal 0 HcmV?d00001 diff --git a/test/accessibility/pdf/image_svg.pdf b/test/pdf/accessibility/pdf/image_svg.pdf similarity index 95% rename from test/accessibility/pdf/image_svg.pdf rename to test/pdf/accessibility/pdf/image_svg.pdf index c3fce5b0e3b7ef18796ad1196a0535563af509e2..db1e061cff5ebfde18878a423ec2d4a9edfc7d9a 100644 GIT binary patch delta 609 zcmaixze@u#6vw$%L=UWrTC6xcDP5G(yyTMH6|LCoDFs1LCw~kM7F6s(+d+y@92Ep1 ztCP+}N}T-*TwLwy(tkp{t5C2v7()2I@B8pgczO3<{fC=zMhOa}Ty*a8i3ygaWFJKy zX`T!Hk&wn;OU+GP{B`vG)KOfe7gKt4_9>?I!mXitnQPsd|2BduJ`x<4hU#XgwG9VG zpL|(r|B||wX@)8udp=(d#igOU*&`!Hq;hg~-Nmn%Zs%NMh61HPVAll5ZS7G8l&K|5 zr}`z@5bQx0C7@L6_^95j{S^lhNVuR1W?vw6BpLP?GNIP^c8f8|hMN>+aQjdQf=(*^ji7e delta 623 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 literal 0 HcmV?d00001 diff --git a/test/accessibility/pdf/leader.pdf b/test/pdf/accessibility/pdf/leader.pdf similarity index 95% rename from test/accessibility/pdf/leader.pdf rename to test/pdf/accessibility/pdf/leader.pdf index c7432e751e99872f83c8a230dffc05c25dfd030c..d270c25a150ffb7dffe3523eff9604a8d1e83d53 100644 GIT binary patch delta 392 zcmbR3x!7|;Bd4*EfuWh9v4O$HE-OA>V_hSI5JNL7Lt`rggUuKD%o$OICW{JWql#?q z71+!|u7%3Pi1aSd*o_T5c z3MO!#i$b)GqqB*VnVF%vi;IPuxq*d&o13Gho27|`nTeU1sf(MlodRJcu^_X9GpkY+ gjLf*~?6`_c5{pVIiuh8~xGc;p&AC)nUH#p-0Bwv~SpWb4 delta 366 zcmZ4NIooqWBd4K}xuKzfp{dEnE-OA>LtP{D5JN*N14AoQlg$_T%o$OICW{JWql#?q z71+wm2l6@HxnaABUb}sBNqcxBRd7cN@BU}?6`_c Y5{pVIic-_KEX*v;x!6=yUH#p-0Q=ciyZ`_I diff --git a/test/accessibility/pdf/links.pdf b/test/pdf/accessibility/pdf/links.pdf similarity index 94% rename from test/accessibility/pdf/links.pdf rename to test/pdf/accessibility/pdf/links.pdf index 91d7c259278fcb55c26fe0e41d16efafd888481d..b2a5a42093da324ae47f3d8ff13b8f926aaa0e6d 100644 GIT binary patch delta 425 zcmaFi{lR-eBd4*EfuWh9v4P>nE-OA>V_hSI5JNL7Lt`rg!_61@%o$OICW{JWql#?q z6?o3I*9(c s14{#AHv=;>Gjlry!b)O6W(Q|hr79R3aoO2%6_+Fyl~fc>zNN|s0H$(b_y7O^ delta 452 zcmez1{la@fBd4K}xuKzfp{eP{E-OA>LtP{D5JN*N14AoQ)6Ez8%o$OICW{JWql#?q z6?o3I`HaG4#?2+t5v-HvD+TMA8yHzA7=VC6o&pz`VPI}xVU8hYWNJKFPT8m4+}OeZ zL(;_36hq9^+zdm^%p6m%xtTGBI!hxAy%q)rATdD{ms%K_8%+MDq$Xx)iEf64nWg1s zGZkINdi~(cs#FDIBQE`*{QMFHBLxG6ATE8+ytI4;6DZq7A=<{+(#6ft$;HGNXr_Uy zlYz0Tvx$p~rGdGNiKC^Fp`o1uVI{F#c6MCFC5c5P6-B9OTo#sw23%~as;>TSTmT;Q BX2Spg diff --git a/test/accessibility/pdf/role.pdf b/test/pdf/accessibility/pdf/role.pdf similarity index 94% rename from test/accessibility/pdf/role.pdf rename to test/pdf/accessibility/pdf/role.pdf index acb43502799635bd258ce2b96cfb7bf5409b1960..329925bcd474abd446beba8726ca352fdcc91afc 100644 GIT binary patch delta 949 zcmaizze)o^5XL#M$)QP_G#0W5mYUt!o!Pw*0=ZoLS6D=`5eo|i5fVsJh#-fpAPASj zQXfI?2`qd7-^0!q@Dh`lWCX99;rnL4-|XJgzMdC*A$i}~@F4k$4wkL9fsn&bw3D}J zEp~cR3V+mB8mwhKqo%g04mJ0Z;od;Q;yfb_je2pGV=~a_KZIs1oYf&oHjpd}V=OtQ zb7l@C&X|=6v{@9QR4g?rK&Au94o0nh=w?D=hRnRi#dB$fVGxO}5XmuOw8-etS;YMae^Zo4I%Q$!*2T%9Qpe%p{#J7ifX$7{GJqD;ts3T?{ zB^%6+(n|Syc9K1oUpKR>y{{nsbk(e_H&)ZrXqcYF>uVN;EFRGl;p6~Xr{B?GqK)K;IL~n?QO$D^Xv$2XFZ0e7Ne0x0 zB|)Qz;ZQQuNMIR`{FLyoZsH_Mht6{m@0b~q$m-8^Sz=Pi!jUFj7|iqkeG+60Gedbb z^GS#%cbC(rxRxg-r@3hl(*~D|9)P^J>3dY&0>=_rMXXAz9b}dLyCA8xFK;`7R9I{E z`y-LB7Ok*$(ChX^ekqf4B+hm;*r*xFcsD|2y_7cp%ao2|&@w`3Vnh57IS(6+a5%ac UjBW;0v5pxrj=t^pbuXk; z#&ahqHCqN1_;C@`iU}jYm%E>((Ioe^T#Ry5KByx)mKl;~7SUQ}2c1K8FaZQ{->PuW*=T$*9GZJ Rv6yLhPFtO;R2y#2SJ2Shd9;n$vK@d(mu@L`&2p;GaBFJGY2txb} zmZId7SXs@_p6c!Ed0@O9sk&3r5 zPO77PYT~RqDefm;W{Rt|&!kwfOXK-bc9|c>=_##r?@{L}?H|BeqA#(Cf4lUI%DPUAL0TIqQWP(TJJkDHHk0?{0lDot^*AV610eei_u9E z#QdW<*(D1?&9X=IM&Muo(GP|owv*;wXO+qbd>^qa^5=HRkia3!EXHy-P+FS^|2z8)>`d$N0sSSE3Ivw zpR`p;+&^b(Z#l+jGP7!eK@IGAz08Jd(KQW4YDQ?N|0Vlrqmf>A4lX)Z7sn?lFnS(N K=jP&eGyMWcYsEMK diff --git a/test/accessibility/pdf/text_1.pdf b/test/pdf/accessibility/pdf/text_1.pdf similarity index 94% rename from test/accessibility/pdf/text_1.pdf rename to test/pdf/accessibility/pdf/text_1.pdf index 596419c9db2cf9d33d28f8e40981aa8d0a02d1d6..13f01711d8980417d1606929722605ffa1623ec1 100644 GIT binary patch delta 336 zcmX?Mb-`*vBd4*EfuWh9v4Qc%E-OA>V_hSI5JNL7Lt`rguy(f_2PHjLZ}aKtLf+feXwqFf*|*#Sk+yHJltJ?aOU$ZUK{< ztR^j|X$I%QwHufj!IZ$o3{56CN()csk=b6apr9X=pI@Q?RHP8Z1>||=rR6J_zwm2;UH||9 delta 354 zcmca$b;4>wBd4K}xuKzfp{e=CE-OA>LtP{D5JN*N14AoQ^UW9e%o$OICW{JWql#?q z6)0lcEG2o6k6ltrm@627fI^-E7nosSYH4DIE@ozEXf!!W z+E>iT*b+m|*m$y`w6K;ThDm0ohK3lbO)U*3|B^mguOFOQm8xK5$fX~YpI@S2q+p;B z#HH_MB5men;V;1xEdHbI++-`I00E^u1+qN#+I&ThOQM$@Bo>ua6s4wdnOPbcaj~hYy863u0RU3PR2u*Q diff --git a/test/accessibility/pdf/text_2.pdf b/test/pdf/accessibility/pdf/text_2.pdf similarity index 95% rename from test/accessibility/pdf/text_2.pdf rename to test/pdf/accessibility/pdf/text_2.pdf index 19fff21a438f0ab4223b1de2202410b6ddd121ec..9432639947f56b5707090fe1999148b9185b9c0d 100644 GIT binary patch delta 387 zcmaD9@G4+JBd4*EfuWh9v4P3PE-OA>V_hSI5JNL7Lt`rglg$_T%o$OICW{JWql#?q z6}ZZ`*;vtwQ*hK6Pe1|Xo2r@#ef7+4xw7-5JRn^;W#qw2$BX<}{) zlbn1)RW8U7&V}i>Ffy=&DS?X_8(^4eVQOKHq0YkGX!8*@Nyd5w1^uA>{1OGAHiaNA zAkQ-|EnmR|&T~bTqawGIw^fFfubSaB^{VbTTnCak5h&tRxm> mc5r4@s)CU@mz^C~aYLtP{D5JN*N14AoQi_I7L%o$OICW{JWql#?q z6}ZZ`d5-c$#?49c)-03rRFiZp42(?_3_w63Pk{@}Ft9KL^3cVM%*-bLQT3^}Ft#+t zkTkKh#1J#Jz%<0n9Mdv$GjnvkmIkIq7-Gi8Aa$FMtBEn@=m%$3r79SibLj`==a(n| z6)OaB>3im-UEtN;K2 diff --git a/test/accessibility/pdf/text_font-embedding.pdf b/test/pdf/accessibility/pdf/text_font-embedding.pdf similarity index 93% rename from test/accessibility/pdf/text_font-embedding.pdf rename to test/pdf/accessibility/pdf/text_font-embedding.pdf index 0288449d5baf0eec5ef036c0b4274d56861ee194..7ffb40af8b2c44b2fa18b364ea8d2ebbb30f51ce 100644 GIT binary patch delta 788 zcmaixze^lJ6vx@q#w9VjdP34<5S8GM_}{Uwub;U+n|;N1*SOJ?;G1C zE$#W%M2x0Tk$LnC9yx&t3k;R8jm^0!UbHY0?bpppSMr<+NGeferpO5M9f7oxIW3Y9 z`5um$hbwg-JqAhl`nj>lh{C8!%fdWL>wnbsoAi2g+6PA;nr%Ode8!d=tyYJ*Yjs&8 zOV^JNTg*+<&sN#n2$Nck5>rj;RZ-G}ppLy>deQq*t{5bYM Xb`IK|PwnQRkJ=dR&(01fJ9YmrFT<}P delta 866 zcmaiwziSjh6vx>_PzMb0yfe{4hLAf%O>W-&cr$Y>3vS%SBuMa*E?6XRfuQ8zauCrX z+E@sJWV(R8ma@H|rG;Q&Ywe%m?8V6DMzC1+@!ik&eZTwO9Y>#!qqi?F0@nZxl>PX+ zGj$0TxZVKhFz6^-e4ol}9Gsi9po?$UmTyM1m`Q(47TNtTQDof1 ze7=~^=O)~RmF^vFQP6S|qkEK$1~82CKm%jktCa`q0x1LY3^-*>p!rL?)@tjj z4kN8qZhN(JXw{gDAqFkHCdQk2P3gdEA!va@k7oc%c~a@HavDSy{1#drXxg&iB--+S zaI(S;2V1*OdIJ*2q`kiTtVg*e?e6n_e@J~5+9mDfy`4VwTSoIex*6Y<(wI!7jOQpV p&v+_%Ceh?eDKOM&LjR9EB1uB_hg*Z;(?M^CfMt@CW;0vM$!}dbz4QP8 diff --git a/test/accessibility/role.fo b/test/pdf/accessibility/role.fo similarity index 100% rename from test/accessibility/role.fo rename to test/pdf/accessibility/role.fo diff --git a/test/accessibility/role_non-standard.fo b/test/pdf/accessibility/role_non-standard.fo similarity index 100% rename from test/accessibility/role_non-standard.fo rename to test/pdf/accessibility/role_non-standard.fo diff --git a/test/accessibility/text_1.fo b/test/pdf/accessibility/text_1.fo similarity index 100% rename from test/accessibility/text_1.fo rename to test/pdf/accessibility/text_1.fo diff --git a/test/accessibility/text_2.fo b/test/pdf/accessibility/text_2.fo similarity index 100% rename from test/accessibility/text_2.fo rename to test/pdf/accessibility/text_2.fo diff --git a/test/accessibility/text_font-embedding.fo b/test/pdf/accessibility/text_font-embedding.fo similarity index 100% rename from test/accessibility/text_font-embedding.fo rename to test/pdf/accessibility/text_font-embedding.fo -- 2.39.5

s~5-RXS9Vx_(l*Kv&UkvwrS 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 GX4Zds@%Lo_ diff --git a/test/accessibility/pdf/image_wmf.pdf b/test/accessibility/pdf/image_wmf.pdf deleted file mode 100644 index b9ec8c55a94705110a05e96087cb5505c361e272..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 304960 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