diff options
author | Vincent Hennebert <vhennebert@apache.org> | 2012-03-21 15:12:43 +0000 |
---|---|---|
committer | Vincent Hennebert <vhennebert@apache.org> | 2012-03-21 15:12:43 +0000 |
commit | b9fbfa6b71b5e0d67806c066ea422819de08f3b2 (patch) | |
tree | ea0b24983c14733ec584a04b79ac108634a9cef2 /test/pdf | |
parent | 54b6471e8fe27378222389de496721cc379a812d (diff) | |
download | xmlgraphics-fop-b9fbfa6b71b5e0d67806c066ea422819de08f3b2.tar.gz xmlgraphics-fop-b9fbfa6b71b5e0d67806c066ea422819de08f3b2.zip |
Added support for PDF object streams.Temp_PDF_ObjectStreams
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
Diffstat (limited to 'test/pdf')
41 files changed, 1300 insertions, 0 deletions
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 @@ +<?xml version="1.0" encoding="UTF-8"?> +<fop version="1.0"> + <accessibility>true</accessibility> + <source-resolution>144</source-resolution> + <use-cache>false</use-cache> + <font-base>../../resources/fonts/ttf/</font-base> + <renderers> + <renderer mime="application/pdf"> + <version>1.5</version> + <filterList> + <value>null</value> + </filterList> + <filterList type="image"> + <value>flate</value> + <value>ascii-85</value> + </filterList> + <fonts> + <font embed-url="DejaVuLGCSerif.ttf"> + <font-triplet name="DejaVu" style="normal" weight="normal"/> + </font> + </fonts> + </renderer> + </renderers> +</fop> 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 @@ +<?xml version="1.0" standalone="no"?> +<!-- + 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$ --> +<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" + xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" language="en" country="GB"> + <fo:layout-master-set> + <fo:simple-page-master master-name="page" + page-height="220pt" page-width="320pt" margin="10pt"> + <fo:region-body column-count="2" margin-top="15pt"/> + <fo:region-before extent="12pt"/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="page"> + <fo:static-content flow-name="xsl-region-before"> + <fo:block font-size="8pt" text-align-last="justify">This is the page header<fo:leader/>Page + <fo:page-number/></fo:block> + </fo:static-content> + <fo:static-content flow-name="xsl-footnote-separator"> + <fo:block><fo:leader leader-length="100pt" leader-pattern="rule"/></fo:block> + </fo:static-content> + <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify"> + <fo:block>(There’s another page sequence <fo:wrapper color="blue"><fo:basic-link + internal-destination="second">below</fo:basic-link></fo:wrapper>.)</fo:block> + <fo:block font-family="sans-serif" font-weight="bold" space-before="1em" space-after="0.2em" + role="H1"><fo:block>About Apache FOP</fo:block></fo:block> + <fo:block>It is a print formatter driven by XSL formatting objects (XSL-FO) and an output + independent formatter<fo:footnote><fo:inline baseline-shift="super" + font-size="70%">1</fo:inline><fo:footnote-body><fo:block>See the <fo:wrapper + color="blue"><fo:basic-link + external-destination="http://xmlgraphics.apache.org/fop/">FOP + website</fo:basic-link></fo:wrapper> for more + information</fo:block></fo:footnote-body></fo:footnote>. FOP has a nice logo: + <fo:external-graphic src="../../resources/images/fop-logo-color-24bit.png" + inline-progression-dimension.maximum="100%" content-width="scale-to-fit" + fox:alt-text="FOP Logo"/></fo:block> + <fo:table space-before="10pt" space-after="10pt" width="100%" table-layout="fixed"> + <fo:table-header> + <fo:table-row> + <fo:table-cell border="2pt solid black" padding="2pt 2pt 0"> + <fo:block>Header 1.1</fo:block> + </fo:table-cell> + <fo:table-cell border="2pt solid black" padding="2pt 2pt 0"> + <fo:block>Header 1.2</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-header> + <fo:table-body> + <fo:table-row> + <fo:table-cell border="1pt solid black" padding="2pt 2pt 0"> + <fo:block>Cell 1.1</fo:block> + </fo:table-cell> + <fo:table-cell border="1pt solid black" padding="2pt 2pt 0"> + <fo:block>Cell 1.2</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell border="1pt solid black" padding="2pt 2pt 0"> + <fo:block>Cell 2.1</fo:block> + </fo:table-cell> + <fo:table-cell border="1pt solid black" padding="2pt 2pt 0"> + <fo:block>Cell 2.2</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + <fo:block>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.</fo:block> + <fo:block span="all" border-top="1pt solid black" border-bottom="1pt solid black" + padding-before="2pt" padding-after="2pt">This fo:block element spans all the columns of the + document. This is intended to test the abilities of the text-to-speech program.</fo:block> + <fo:block>And now we are back to normal content flowing in two columns. Let’s start a numbered + list:</fo:block> + <fo:list-block provisional-distance-between-starts="15pt" provisional-label-separation="0mm" + keep-with-previous="auto"> + <fo:list-item keep-with-previous="always"> + <fo:list-item-label end-indent="label-end()"> + <fo:block>1.</fo:block> + </fo:list-item-label> + <fo:list-item-body start-indent="body-start()"> + <fo:block> + <fo:block>Line 1 of item 1</fo:block> + <fo:block>Line 2 of item 1</fo:block> + <fo:block>Line 3 of item 1</fo:block> + </fo:block> + </fo:list-item-body> + </fo:list-item> + <fo:list-item keep-with-previous="always"> + <fo:list-item-label end-indent="label-end()"> + <fo:block>2.</fo:block> + </fo:list-item-label> + <fo:list-item-body start-indent="body-start()"> + <fo:block> + <fo:block>Line 1 of item 2</fo:block> + <fo:block>Line 2 of item 2</fo:block> + <fo:block>Line 3 of item 2</fo:block> + </fo:block> + </fo:list-item-body> + </fo:list-item> + </fo:list-block> + <fo:block>And now we are going to see how a second page sequence is handled.</fo:block> + </fo:flow> + </fo:page-sequence> + <fo:page-sequence master-reference="page"> + <fo:static-content flow-name="xsl-region-before"> + <fo:block font-size="8pt" text-align-last="justify">This is the page header<fo:leader/>Page + <fo:page-number/></fo:block> + </fo:static-content> + <fo:static-content flow-name="xsl-footnote-separator"> + <fo:block><fo:leader leader-length="100pt" leader-pattern="rule"/></fo:block> + </fo:static-content> + <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify"> + <fo:block id="second">Apache FOP (Formatting Objects Processor) is a print formatter driven by + XSL formatting objects (XSL-FO) and an output independent formatter<fo:footnote><fo:inline + baseline-shift="super" font-size="70%">1</fo:inline><fo:footnote-body><fo:block>See the + <fo:wrapper color="blue"><fo:basic-link + external-destination="http://xmlgraphics.apache.org/fop/">FOP + website</fo:basic-link></fo:wrapper> for more + information</fo:block></fo:footnote-body></fo:footnote>. It is a Java application that + reads a formatting object (FO) tree and renders the resulting pages to a specified + output.</fo:block> + <fo:table space-before="10pt" space-after="10pt" width="100%" table-layout="fixed"> + <fo:table-header> + <fo:table-row> + <fo:table-cell border="2pt solid black" padding="2pt 2pt 0"> + <fo:block>Header 1.1</fo:block> + </fo:table-cell> + <fo:table-cell border="2pt solid black" padding="2pt 2pt 0"> + <fo:block>Header 1.2</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-header> + <fo:table-body> + <fo:table-row> + <fo:table-cell border="1pt solid black" padding="2pt 2pt 0"> + <fo:block>Cell 1.1</fo:block> + </fo:table-cell> + <fo:table-cell border="1pt solid black" padding="2pt 2pt 0"> + <fo:block>Cell 1.2</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell border="1pt solid black" padding="2pt 2pt 0"> + <fo:block>Cell 2.1</fo:block> + </fo:table-cell> + <fo:table-cell border="1pt solid black" padding="2pt 2pt 0"> + <fo:block>Cell 2.2</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + <fo:block language="fr" country="FR">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.</fo:block> + <fo:block span="all" border-top="1pt solid black" border-bottom="1pt solid black" + padding-before="2pt" padding-after="2pt">This fo:block element spans all the columns of the + document. This is intended to test the abilities of the text-to-speech program.</fo:block> + <fo:block>And now we are back to normal content flowing in two columns. Let’s start a numbered + list:</fo:block> + <fo:list-block provisional-distance-between-starts="15pt" provisional-label-separation="0mm" + keep-with-previous="auto"> + <fo:list-item keep-with-previous="always"> + <fo:list-item-label end-indent="label-end()"> + <fo:block>1.</fo:block> + </fo:list-item-label> + <fo:list-item-body start-indent="body-start()"> + <fo:block> + <fo:block>Line 1 of item 1</fo:block> + <fo:block>Line 2 of item 1</fo:block> + <fo:block>Line 3 of item 1</fo:block> + </fo:block> + </fo:list-item-body> + </fo:list-item> + <fo:list-item keep-with-previous="always"> + <fo:list-item-label end-indent="label-end()"> + <fo:block>2.</fo:block> + </fo:list-item-label> + <fo:list-item-body start-indent="body-start()"> + <fo:block> + <fo:block>Line 1 of item 2</fo:block> + <fo:block>Line 2 of item 2</fo:block> + <fo:block>Line 3 of item 2</fo:block> + </fo:block> + </fo:list-item-body> + </fo:list-item> + </fo:list-block> + <fo:block>The end of the document has now been reached.</fo:block> + </fo:flow> + </fo:page-sequence> +</fo:root> diff --git a/test/pdf/1.5/test.pdf b/test/pdf/1.5/test.pdf Binary files differnew file mode 100644 index 000000000..4c25c0847 --- /dev/null +++ b/test/pdf/1.5/test.pdf diff --git a/test/pdf/accessibility/README b/test/pdf/accessibility/README new file mode 100644 index 000000000..1d2e04361 --- /dev/null +++ b/test/pdf/accessibility/README @@ -0,0 +1,41 @@ +This directory contains sample FO files for testing the accessibility features +of FOP. + +Every FO file in this directory has a corresponding PDF file in the pdf/ +sub-directory. The fop.xconf configuration file was used. + +The PDF files have been checked with Adobe Acrobat Professional 9, using both +the full accessibility checker and the read-aloud feature. The checker reports +no error /and/ the entire document can be read aloud. + + +!! DO NOT MODIFY THOSE FILES, NEITHER THE FO NOR THE PDF !! + + +... Or at least, know what you are doing +If the FO files are modified, the resulting PDFs must be checked again, both +with the checker and the read-aloud feature. (Sometimes the checker reports no +problem yet part or all of the document cannot be read aloud.) + +The purpose of this infrastructure is to be able to quickly re-test the +accessibility processing chain when any change has been made to it. The +configuration file disables the compression of the PDF streams, so it is +possible to compare a re-generated PDF with the original one by using a simple +diff tool. The files will not be identical because of the different creation +dates (and the ID key in the trailer), but apart from that there should be no +difference. + +The rationale is that using a diff tool is much quicker and less tedious than +running Acrobat's accessibility checker and read-aloud feature every time. + + +To re-generate the PDF files: + ../../fop -c fop.xconf text_1.fo pdf/text_1.new.pdf + diff pdf/text_1_painter.pdf pdf/text_1.new.pdf +Or, going through the intermediate format: + ../../fop -c fop.xconf text_1.fo -if application/pdf text_1_if.xml + ../../fop -c fop.xconf -ifin text_1_if.xml pdf/text_1.new.pdf + diff pdf/text_1.pdf pdf/text_1.new.pdf + + +$Id$ diff --git a/test/pdf/accessibility/background-image_jpg_repeat.fo b/test/pdf/accessibility/background-image_jpg_repeat.fo new file mode 100644 index 000000000..12af7d72a --- /dev/null +++ b/test/pdf/accessibility/background-image_jpg_repeat.fo @@ -0,0 +1,34 @@ +<?xml version="1.0"?> +<!-- + 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$ --> +<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB"> + <fo:layout-master-set> + <fo:simple-page-master master-name="page" + page-height="220pt" page-width="320pt" margin="10pt"> + <fo:region-body background-image="../../resources/images/bgimg72dpi.jpg"/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="page"> + <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify"> + <fo:block>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.</fo:block> + </fo:flow> + </fo:page-sequence> +</fo:root> diff --git a/test/pdf/accessibility/background-image_jpg_single.fo b/test/pdf/accessibility/background-image_jpg_single.fo new file mode 100644 index 000000000..1efd10deb --- /dev/null +++ b/test/pdf/accessibility/background-image_jpg_single.fo @@ -0,0 +1,36 @@ +<?xml version="1.0"?> +<!-- + 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$ --> +<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB"> + <fo:layout-master-set> + <fo:simple-page-master master-name="page" + page-height="220pt" page-width="320pt" margin="10pt"> + <fo:region-body background-image="../../resources/images/bgimg72dpi.jpg" + background-repeat="no-repeat" background-position-horizontal="50%" + background-position-vertical="50%"/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="page"> + <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify"> + <fo:block>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.</fo:block> + </fo:flow> + </fo:page-sequence> +</fo:root> diff --git a/test/pdf/accessibility/background-image_png_repeat.fo b/test/pdf/accessibility/background-image_png_repeat.fo new file mode 100644 index 000000000..9bbc3e47c --- /dev/null +++ b/test/pdf/accessibility/background-image_png_repeat.fo @@ -0,0 +1,34 @@ +<?xml version="1.0"?> +<!-- + 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$ --> +<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB"> + <fo:layout-master-set> + <fo:simple-page-master master-name="page" + page-height="220pt" page-width="320pt" margin="10pt"> + <fo:region-body background-image="../../resources/images/bgimg72dpi.png"/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="page"> + <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify"> + <fo:block>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.</fo:block> + </fo:flow> + </fo:page-sequence> +</fo:root> diff --git a/test/pdf/accessibility/background-image_png_single.fo b/test/pdf/accessibility/background-image_png_single.fo new file mode 100644 index 000000000..0cff427b6 --- /dev/null +++ b/test/pdf/accessibility/background-image_png_single.fo @@ -0,0 +1,36 @@ +<?xml version="1.0"?> +<!-- + 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$ --> +<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB"> + <fo:layout-master-set> + <fo:simple-page-master master-name="page" + page-height="220pt" page-width="320pt" margin="10pt"> + <fo:region-body background-image="../../resources/images/fop-logo-color-24bit.png" + background-repeat="no-repeat" background-position-horizontal="50%" + background-position-vertical="50%"/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="page"> + <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify"> + <fo:block>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.</fo:block> + </fo:flow> + </fo:page-sequence> +</fo:root> diff --git a/test/pdf/accessibility/background-image_svg_repeat.fo b/test/pdf/accessibility/background-image_svg_repeat.fo new file mode 100644 index 000000000..ba69947cc --- /dev/null +++ b/test/pdf/accessibility/background-image_svg_repeat.fo @@ -0,0 +1,34 @@ +<?xml version="1.0"?> +<!-- + 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$ --> +<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB"> + <fo:layout-master-set> + <fo:simple-page-master master-name="page" + page-height="220pt" page-width="320pt" margin="10pt"> + <fo:region-body background-image="../../resources/images/rgb-circles.svg"/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="page"> + <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify"> + <fo:block>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.</fo:block> + </fo:flow> + </fo:page-sequence> +</fo:root> diff --git a/test/pdf/accessibility/background-image_svg_single.fo b/test/pdf/accessibility/background-image_svg_single.fo new file mode 100644 index 000000000..efe91c65b --- /dev/null +++ b/test/pdf/accessibility/background-image_svg_single.fo @@ -0,0 +1,36 @@ +<?xml version="1.0"?> +<!-- + 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$ --> +<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB"> + <fo:layout-master-set> + <fo:simple-page-master master-name="page" + page-height="220pt" page-width="320pt" margin="10pt"> + <fo:region-body background-image="../../resources/images/rgb-circles.svg" + background-repeat="no-repeat" background-position-horizontal="50%" + background-position-vertical="50%"/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="page"> + <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify"> + <fo:block>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.</fo:block> + </fo:flow> + </fo:page-sequence> +</fo:root> diff --git a/test/pdf/accessibility/complete.fo b/test/pdf/accessibility/complete.fo new file mode 100644 index 000000000..23e8405f3 --- /dev/null +++ b/test/pdf/accessibility/complete.fo @@ -0,0 +1,207 @@ +<?xml version="1.0" standalone="no"?> +<!-- + 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$ --> +<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" + xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" language="en" country="GB"> + <fo:layout-master-set> + <fo:simple-page-master master-name="page" + page-height="220pt" page-width="320pt" margin="10pt"> + <fo:region-body column-count="2" margin-top="15pt"/> + <fo:region-before extent="12pt"/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="page"> + <fo:static-content flow-name="xsl-region-before"> + <fo:block font-size="8pt" text-align-last="justify">This is the page header<fo:leader/>Page + <fo:page-number/></fo:block> + </fo:static-content> + <fo:static-content flow-name="xsl-footnote-separator"> + <fo:block><fo:leader leader-length="100pt" leader-pattern="rule"/></fo:block> + </fo:static-content> + <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify"> + <fo:block>(There’s another page sequence <fo:wrapper color="blue"><fo:basic-link + internal-destination="second">below</fo:basic-link></fo:wrapper>.)</fo:block> + <fo:block font-family="sans-serif" font-weight="bold" space-before="1em" space-after="0.2em" + role="H1"><fo:block>About Apache FOP</fo:block></fo:block> + <fo:block>It is a print formatter driven by XSL formatting objects (XSL-FO) and an output + independent formatter<fo:footnote><fo:inline baseline-shift="super" + font-size="70%">1</fo:inline><fo:footnote-body><fo:block>See the <fo:wrapper + color="blue"><fo:basic-link + external-destination="http://xmlgraphics.apache.org/fop/">FOP + website</fo:basic-link></fo:wrapper> for more + information</fo:block></fo:footnote-body></fo:footnote>. FOP has a nice logo: + <fo:external-graphic src="../../resources/images/fop-logo-color-24bit.png" + inline-progression-dimension.maximum="100%" content-width="scale-to-fit" + fox:alt-text="FOP Logo"/></fo:block> + <fo:table space-before="10pt" space-after="10pt" width="100%" table-layout="fixed"> + <fo:table-header> + <fo:table-row> + <fo:table-cell border="2pt solid black" padding="2pt 2pt 0"> + <fo:block>Header 1.1</fo:block> + </fo:table-cell> + <fo:table-cell border="2pt solid black" padding="2pt 2pt 0"> + <fo:block>Header 1.2</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-header> + <fo:table-body> + <fo:table-row> + <fo:table-cell border="1pt solid black" padding="2pt 2pt 0"> + <fo:block>Cell 1.1</fo:block> + </fo:table-cell> + <fo:table-cell border="1pt solid black" padding="2pt 2pt 0"> + <fo:block>Cell 1.2</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell border="1pt solid black" padding="2pt 2pt 0"> + <fo:block>Cell 2.1</fo:block> + </fo:table-cell> + <fo:table-cell border="1pt solid black" padding="2pt 2pt 0"> + <fo:block>Cell 2.2</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + <fo:block>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.</fo:block> + <fo:block span="all" border-top="1pt solid black" border-bottom="1pt solid black" + padding-before="2pt" padding-after="2pt">This fo:block element spans all the columns of the + document. This is intended to test the abilities of the text-to-speech program.</fo:block> + <fo:block>And now we are back to normal content flowing in two columns. Let’s start a numbered + list:</fo:block> + <fo:list-block provisional-distance-between-starts="15pt" provisional-label-separation="0mm" + keep-with-previous="auto"> + <fo:list-item keep-with-previous="always"> + <fo:list-item-label end-indent="label-end()"> + <fo:block>1.</fo:block> + </fo:list-item-label> + <fo:list-item-body start-indent="body-start()"> + <fo:block> + <fo:block>Line 1 of item 1</fo:block> + <fo:block>Line 2 of item 1</fo:block> + <fo:block>Line 3 of item 1</fo:block> + </fo:block> + </fo:list-item-body> + </fo:list-item> + <fo:list-item keep-with-previous="always"> + <fo:list-item-label end-indent="label-end()"> + <fo:block>2.</fo:block> + </fo:list-item-label> + <fo:list-item-body start-indent="body-start()"> + <fo:block> + <fo:block>Line 1 of item 2</fo:block> + <fo:block>Line 2 of item 2</fo:block> + <fo:block>Line 3 of item 2</fo:block> + </fo:block> + </fo:list-item-body> + </fo:list-item> + </fo:list-block> + <fo:block>And now we are going to see how a second page sequence is handled.</fo:block> + </fo:flow> + </fo:page-sequence> + <fo:page-sequence master-reference="page"> + <fo:static-content flow-name="xsl-region-before"> + <fo:block font-size="8pt" text-align-last="justify">This is the page header<fo:leader/>Page + <fo:page-number/></fo:block> + </fo:static-content> + <fo:static-content flow-name="xsl-footnote-separator"> + <fo:block><fo:leader leader-length="100pt" leader-pattern="rule"/></fo:block> + </fo:static-content> + <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify"> + <fo:block id="second">Apache FOP (Formatting Objects Processor) is a print formatter driven by + XSL formatting objects (XSL-FO) and an output independent formatter<fo:footnote><fo:inline + baseline-shift="super" font-size="70%">1</fo:inline><fo:footnote-body><fo:block>See the + <fo:wrapper color="blue"><fo:basic-link + external-destination="http://xmlgraphics.apache.org/fop/">FOP + website</fo:basic-link></fo:wrapper> for more + information</fo:block></fo:footnote-body></fo:footnote>. It is a Java application that + reads a formatting object (FO) tree and renders the resulting pages to a specified + output.</fo:block> + <fo:table space-before="10pt" space-after="10pt" width="100%" table-layout="fixed"> + <fo:table-header> + <fo:table-row> + <fo:table-cell border="2pt solid black" padding="2pt 2pt 0"> + <fo:block>Header 1.1</fo:block> + </fo:table-cell> + <fo:table-cell border="2pt solid black" padding="2pt 2pt 0"> + <fo:block>Header 1.2</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-header> + <fo:table-body> + <fo:table-row> + <fo:table-cell border="1pt solid black" padding="2pt 2pt 0"> + <fo:block>Cell 1.1</fo:block> + </fo:table-cell> + <fo:table-cell border="1pt solid black" padding="2pt 2pt 0"> + <fo:block>Cell 1.2</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell border="1pt solid black" padding="2pt 2pt 0"> + <fo:block>Cell 2.1</fo:block> + </fo:table-cell> + <fo:table-cell border="1pt solid black" padding="2pt 2pt 0"> + <fo:block>Cell 2.2</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + <fo:block language="fr" country="FR">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.</fo:block> + <fo:block span="all" border-top="1pt solid black" border-bottom="1pt solid black" + padding-before="2pt" padding-after="2pt">This fo:block element spans all the columns of the + document. This is intended to test the abilities of the text-to-speech program.</fo:block> + <fo:block>And now we are back to normal content flowing in two columns. Let’s start a numbered + list:</fo:block> + <fo:list-block provisional-distance-between-starts="15pt" provisional-label-separation="0mm" + keep-with-previous="auto"> + <fo:list-item keep-with-previous="always"> + <fo:list-item-label end-indent="label-end()"> + <fo:block>1.</fo:block> + </fo:list-item-label> + <fo:list-item-body start-indent="body-start()"> + <fo:block> + <fo:block>Line 1 of item 1</fo:block> + <fo:block>Line 2 of item 1</fo:block> + <fo:block>Line 3 of item 1</fo:block> + </fo:block> + </fo:list-item-body> + </fo:list-item> + <fo:list-item keep-with-previous="always"> + <fo:list-item-label end-indent="label-end()"> + <fo:block>2.</fo:block> + </fo:list-item-label> + <fo:list-item-body start-indent="body-start()"> + <fo:block> + <fo:block>Line 1 of item 2</fo:block> + <fo:block>Line 2 of item 2</fo:block> + <fo:block>Line 3 of item 2</fo:block> + </fo:block> + </fo:list-item-body> + </fo:list-item> + </fo:list-block> + <fo:block>The end of the document has now been reached.</fo:block> + </fo:flow> + </fo:page-sequence> +</fo:root> diff --git a/test/pdf/accessibility/fop.xconf b/test/pdf/accessibility/fop.xconf new file mode 100644 index 000000000..adfccd2cc --- /dev/null +++ b/test/pdf/accessibility/fop.xconf @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<fop version="1.0"> + <accessibility>true</accessibility> + <source-resolution>144</source-resolution> + <use-cache>false</use-cache> + <font-base>../../resources/fonts/ttf/</font-base> + <renderers> + <renderer mime="application/pdf"> + <filterList> + <value>null</value> + </filterList> + <filterList type="image"> + <value>flate</value> + <value>ascii-85</value> + </filterList> + <fonts> + <font embed-url="DejaVuLGCSerif.ttf"> + <font-triplet name="DejaVu" style="normal" weight="normal"/> + </font> + </fonts> + </renderer> + </renderers> +</fop> diff --git a/test/pdf/accessibility/image_jpg.fo b/test/pdf/accessibility/image_jpg.fo new file mode 100644 index 000000000..2a2b60076 --- /dev/null +++ b/test/pdf/accessibility/image_jpg.fo @@ -0,0 +1,35 @@ +<?xml version="1.0" standalone="no"?> +<!-- + 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$ --> +<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" + xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" language="en" country="GB"> + <fo:layout-master-set> + <fo:simple-page-master master-name="page" + page-height="220pt" page-width="320pt" margin="10pt"> + <fo:region-body/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="page"> + <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify"> + <fo:block>This document contains an image in the JPEG format: <fo:external-graphic + src="../../resources/images/cmyk.jpg" + inline-progression-dimension.maximum="100%" content-width="scale-to-fit" + fox:alt-text="CMYK colours"/>. Here is the end of the text.</fo:block> + </fo:flow> + </fo:page-sequence> +</fo:root> diff --git a/test/pdf/accessibility/image_png.fo b/test/pdf/accessibility/image_png.fo new file mode 100644 index 000000000..52ee80ac5 --- /dev/null +++ b/test/pdf/accessibility/image_png.fo @@ -0,0 +1,35 @@ +<?xml version="1.0" standalone="no"?> +<!-- + 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$ --> +<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" + xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" language="en" country="GB"> + <fo:layout-master-set> + <fo:simple-page-master master-name="page" + page-height="220pt" page-width="320pt" margin="10pt"> + <fo:region-body/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="page"> + <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify"> + <fo:block>This document contains an image in the PNG format: <fo:external-graphic + src="../../resources/images/fop-logo-color-24bit.png" + inline-progression-dimension.maximum="100%" content-width="scale-to-fit" + fox:alt-text="FOP Logo"/>. Here is the end of the text.</fo:block> + </fo:flow> + </fo:page-sequence> +</fo:root> diff --git a/test/pdf/accessibility/image_svg.fo b/test/pdf/accessibility/image_svg.fo new file mode 100644 index 000000000..96cfedee3 --- /dev/null +++ b/test/pdf/accessibility/image_svg.fo @@ -0,0 +1,45 @@ +<?xml version="1.0" standalone="no"?> +<!-- + 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$ --> +<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" + xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" language="en" country="GB"> + <fo:layout-master-set> + <fo:simple-page-master master-name="page" + page-height="220pt" page-width="320pt" margin="10pt"> + <fo:region-body/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="page"> + <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify"> + <fo:block>This document contains an image in the SVG format: <fo:external-graphic + src="../../resources/images/circles.svg" + inline-progression-dimension.maximum="75pt" content-width="scale-to-fit" + fox:alt-text="Nice circles"/>. And here is the same image as an instream-foreign-object: + <fo:instream-foreign-object inline-progression-dimension.maximum="75pt" + content-width="scale-down-to-fit" fox:alt-text="The same nice circles"> +<svg xmlns="http://www.w3.org/2000/svg" width="12cm" height="12cm"> + <g style="fill-opacity:0.7; stroke:black; stroke-width:0.1cm;"> + <circle cx="6cm" cy="2cm" r="100" style="fill:red;" transform="translate(0,50)" /> + <circle cx="6cm" cy="2cm" r="100" style="fill:blue;" transform="translate(70,150)" /> + <circle cx="6cm" cy="2cm" r="100" style="fill:green;" transform="translate(-70,150)"/> + </g> +</svg> + </fo:instream-foreign-object>.</fo:block> + </fo:flow> + </fo:page-sequence> +</fo:root> diff --git a/test/pdf/accessibility/image_wmf.fo b/test/pdf/accessibility/image_wmf.fo new file mode 100644 index 000000000..43112dba1 --- /dev/null +++ b/test/pdf/accessibility/image_wmf.fo @@ -0,0 +1,35 @@ +<?xml version="1.0" standalone="no"?> +<!-- + 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$ --> +<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" + xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" language="en" country="GB"> + <fo:layout-master-set> + <fo:simple-page-master master-name="page" + page-height="320pt" page-width="320pt" margin="10pt"> + <fo:region-body/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="page"> + <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify"> + <fo:block>This document contains an image in the WMF format: <fo:external-graphic + src="../../resources/images/testChart.wmf" + inline-progression-dimension.maximum="100%" content-width="scale-to-fit" + fox:alt-text="Metafile Companion Test Chart"/> Here is the end of the text.</fo:block> + </fo:flow> + </fo:page-sequence> +</fo:root> diff --git a/test/pdf/accessibility/leader.fo b/test/pdf/accessibility/leader.fo new file mode 100644 index 000000000..4b395cc69 --- /dev/null +++ b/test/pdf/accessibility/leader.fo @@ -0,0 +1,38 @@ +<?xml version="1.0"?> +<!-- + 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$ --> +<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB"> + <fo:layout-master-set> + <fo:simple-page-master master-name="page" + page-height="220pt" page-width="320pt" margin="10pt"> + <fo:region-body/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="page"> + <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify" + text-align-last="justify"> + <fo:block>This is a text followed by a leader with leader-pattern="use-content", the + content being text:<fo:leader leader-pattern="use-content"><fo:inline> • + </fo:inline></fo:leader>1</fo:block> + <fo:block space-before="10pt">This is a text followed by a leader with + leader-pattern="use-content", the content being images:<fo:leader + leader-pattern="use-content"><fo:external-graphic + src="../../resources/images/list-item.png"/></fo:leader>1</fo:block> + </fo:flow> + </fo:page-sequence> +</fo:root> diff --git a/test/pdf/accessibility/links.fo b/test/pdf/accessibility/links.fo new file mode 100644 index 000000000..36250e332 --- /dev/null +++ b/test/pdf/accessibility/links.fo @@ -0,0 +1,41 @@ +<?xml version="1.0" standalone="no"?> +<!-- + 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$ --> +<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" + xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" language="en" country="GB"> + <fo:layout-master-set> + <fo:simple-page-master master-name="page" + page-height="220pt" page-width="320pt" margin="10pt"> + <fo:region-body/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="page"> + <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify"> + <fo:block>This is a <fo:wrapper color="blue"><fo:basic-link + internal-destination="FOP">link</fo:basic-link></fo:wrapper> to the next + paragraph.</fo:block> + <fo:block id="FOP">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.</fo:block> + <fo:block>For more information, see the <fo:wrapper color="blue"><fo:basic-link + external-destination="http://xmlgraphics.apache.org/fop/">FOP + website</fo:basic-link></fo:wrapper>.</fo:block> + </fo:flow> + </fo:page-sequence> +</fo:root> diff --git a/test/pdf/accessibility/pdf/background-image_jpg_repeat.pdf b/test/pdf/accessibility/pdf/background-image_jpg_repeat.pdf Binary files differnew file mode 100644 index 000000000..9b4a7fc20 --- /dev/null +++ b/test/pdf/accessibility/pdf/background-image_jpg_repeat.pdf diff --git a/test/pdf/accessibility/pdf/background-image_jpg_single.pdf b/test/pdf/accessibility/pdf/background-image_jpg_single.pdf Binary files differnew file mode 100644 index 000000000..d1d0ecb1b --- /dev/null +++ b/test/pdf/accessibility/pdf/background-image_jpg_single.pdf diff --git a/test/pdf/accessibility/pdf/background-image_png_repeat.pdf b/test/pdf/accessibility/pdf/background-image_png_repeat.pdf Binary files differnew file mode 100644 index 000000000..ccb2cf089 --- /dev/null +++ b/test/pdf/accessibility/pdf/background-image_png_repeat.pdf diff --git a/test/pdf/accessibility/pdf/background-image_png_single.pdf b/test/pdf/accessibility/pdf/background-image_png_single.pdf Binary files differnew file mode 100644 index 000000000..902520b95 --- /dev/null +++ b/test/pdf/accessibility/pdf/background-image_png_single.pdf diff --git a/test/pdf/accessibility/pdf/background-image_svg_repeat.pdf b/test/pdf/accessibility/pdf/background-image_svg_repeat.pdf Binary files differnew file mode 100644 index 000000000..a720a5b9a --- /dev/null +++ b/test/pdf/accessibility/pdf/background-image_svg_repeat.pdf diff --git a/test/pdf/accessibility/pdf/background-image_svg_single.pdf b/test/pdf/accessibility/pdf/background-image_svg_single.pdf Binary files differnew file mode 100644 index 000000000..7e6e3e9d4 --- /dev/null +++ b/test/pdf/accessibility/pdf/background-image_svg_single.pdf diff --git a/test/pdf/accessibility/pdf/complete.pdf b/test/pdf/accessibility/pdf/complete.pdf Binary files differnew file mode 100644 index 000000000..f1dc10559 --- /dev/null +++ b/test/pdf/accessibility/pdf/complete.pdf diff --git a/test/pdf/accessibility/pdf/image_jpg.pdf b/test/pdf/accessibility/pdf/image_jpg.pdf Binary files differnew file mode 100644 index 000000000..e943c83e5 --- /dev/null +++ b/test/pdf/accessibility/pdf/image_jpg.pdf diff --git a/test/pdf/accessibility/pdf/image_png.pdf b/test/pdf/accessibility/pdf/image_png.pdf Binary files differnew file mode 100644 index 000000000..5ea44673b --- /dev/null +++ b/test/pdf/accessibility/pdf/image_png.pdf diff --git a/test/pdf/accessibility/pdf/image_svg.pdf b/test/pdf/accessibility/pdf/image_svg.pdf Binary files differnew file mode 100644 index 000000000..db1e061cf --- /dev/null +++ b/test/pdf/accessibility/pdf/image_svg.pdf diff --git a/test/pdf/accessibility/pdf/image_wmf.pdf b/test/pdf/accessibility/pdf/image_wmf.pdf Binary files differnew file mode 100644 index 000000000..65c46d12a --- /dev/null +++ b/test/pdf/accessibility/pdf/image_wmf.pdf diff --git a/test/pdf/accessibility/pdf/leader.pdf b/test/pdf/accessibility/pdf/leader.pdf Binary files differnew file mode 100644 index 000000000..d270c25a1 --- /dev/null +++ b/test/pdf/accessibility/pdf/leader.pdf diff --git a/test/pdf/accessibility/pdf/links.pdf b/test/pdf/accessibility/pdf/links.pdf Binary files differnew file mode 100644 index 000000000..b2a5a4209 --- /dev/null +++ b/test/pdf/accessibility/pdf/links.pdf diff --git a/test/pdf/accessibility/pdf/role.pdf b/test/pdf/accessibility/pdf/role.pdf Binary files differnew file mode 100644 index 000000000..329925bcd --- /dev/null +++ b/test/pdf/accessibility/pdf/role.pdf diff --git a/test/pdf/accessibility/pdf/role_non-standard.pdf b/test/pdf/accessibility/pdf/role_non-standard.pdf Binary files differnew file mode 100644 index 000000000..84daea788 --- /dev/null +++ b/test/pdf/accessibility/pdf/role_non-standard.pdf diff --git a/test/pdf/accessibility/pdf/text_1.pdf b/test/pdf/accessibility/pdf/text_1.pdf Binary files differnew file mode 100644 index 000000000..13f01711d --- /dev/null +++ b/test/pdf/accessibility/pdf/text_1.pdf diff --git a/test/pdf/accessibility/pdf/text_2.pdf b/test/pdf/accessibility/pdf/text_2.pdf Binary files differnew file mode 100644 index 000000000..943263994 --- /dev/null +++ b/test/pdf/accessibility/pdf/text_2.pdf diff --git a/test/pdf/accessibility/pdf/text_font-embedding.pdf b/test/pdf/accessibility/pdf/text_font-embedding.pdf Binary files differnew file mode 100644 index 000000000..7ffb40af8 --- /dev/null +++ b/test/pdf/accessibility/pdf/text_font-embedding.pdf diff --git a/test/pdf/accessibility/role.fo b/test/pdf/accessibility/role.fo new file mode 100644 index 000000000..ced8a4d44 --- /dev/null +++ b/test/pdf/accessibility/role.fo @@ -0,0 +1,125 @@ +<?xml version="1.0"?> +<!-- + 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$ --> +<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB"> + <fo:layout-master-set> + <fo:simple-page-master master-name="page" + page-height="220pt" page-width="320pt" margin="10pt"> + <fo:region-body/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="page"> + <fo:flow flow-name="xsl-region-body" hyphenate="true" font-family="sans-serif"> + <fo:block role="H1" font-weight="bold" font-size="150%" + space-before.minimum="1.5em" + space-before.optimum="2em" + space-before.maximum="3em" + space-before.precedence="1000" + space-after.minimum="0.2em" + space-after.optimum="0.2em" + space-after.maximum="0.5em" + space-after.precedence="1000">Title 1: To Start With</fo:block> + <fo:block role="H2" font-weight="bold" font-size="120%" + space-before.minimum="1.2em" + space-before.optimum="1.5em" + space-before.maximum="2em" + space-before.precedence="900" + space-after.minimum="0.2em" + space-after.optimum="0.2em" + space-after.maximum="0.5em" + space-after.precedence="900">Title 2: A Sub-Title</fo:block> + <fo:block text-align="justify">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.</fo:block> + <fo:block role="H2" font-weight="bold" font-size="120%" + space-before.minimum="1.2em" + space-before.optimum="1.5em" + space-before.maximum="2em" + space-before.precedence="900" + space-after.minimum="0.2em" + space-after.optimum="0.2em" + space-after.maximum="0.5em" + space-after.precedence="900">Title 2: Another Sub-Title</fo:block> + <fo:block text-align="justify">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.</fo:block> + <fo:block role="H1" font-weight="bold" font-size="150%" + space-before.minimum="1.5em" + space-before.optimum="2em" + space-before.maximum="3em" + space-before.precedence="1000" + space-after.minimum="0.2em" + space-after.optimum="0.2em" + space-after.maximum="0.5em" + space-after.precedence="1000">Title 1: Second Title</fo:block> + <fo:block role="H2" font-weight="bold" font-size="120%" + space-before.minimum="1.2em" + space-before.optimum="1.5em" + space-before.maximum="2em" + space-before.precedence="900" + space-after.minimum="0.2em" + space-after.optimum="0.2em" + space-after.maximum="0.5em" + space-after.precedence="900">Title 2: A Sample Table</fo:block> + <fo:block>See data below:</fo:block> + <fo:table table-layout="fixed" width="70%" start-indent="15%" border="0.5pt solid black"> + <fo:table-header start-indent="0" font-weight="bold"> + <fo:table-row> + <fo:table-cell border="0.5pt solid black" padding="2pt"> + <fo:block>Header 1</fo:block> + </fo:table-cell> + <fo:table-cell border="0.5pt solid black" padding="2pt"> + <fo:block>Header 2</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-header> + <fo:table-footer start-indent="0" font-weight="bold"> + <fo:table-row> + <fo:table-cell border="0.5pt solid black" padding="2pt"> + <fo:block>Footer 1</fo:block> + </fo:table-cell> + <fo:table-cell border="0.5pt solid black" padding="2pt"> + <fo:block>Footer 2</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-footer> + <fo:table-body start-indent="0"> + <fo:table-row> + <fo:table-cell border="0.5pt solid black" padding="2pt"> + <fo:block>Cell 1.1</fo:block> + </fo:table-cell> + <fo:table-cell border="0.5pt solid black" padding="2pt"> + <fo:block>Cell 1.2</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell border="0.5pt solid black" padding="2pt"> + <fo:block>Cell 2.1</fo:block> + </fo:table-cell> + <fo:table-cell border="0.5pt solid black" padding="2pt"> + <fo:block>Cell 2.2</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + <fo:block text-align="justify" space-before="0.5em">That’s all folks.</fo:block> + </fo:flow> + </fo:page-sequence> +</fo:root> diff --git a/test/pdf/accessibility/role_non-standard.fo b/test/pdf/accessibility/role_non-standard.fo new file mode 100644 index 000000000..d3e1a9852 --- /dev/null +++ b/test/pdf/accessibility/role_non-standard.fo @@ -0,0 +1,125 @@ +<?xml version="1.0"?> +<!-- + 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$ --> +<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB"> + <fo:layout-master-set> + <fo:simple-page-master master-name="page" + page-height="220pt" page-width="320pt" margin="10pt"> + <fo:region-body/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="page"> + <fo:flow flow-name="xsl-region-body" hyphenate="true" font-family="sans-serif"> + <fo:block role="H1" font-weight="bold" font-size="150%" + space-before.minimum="1.5em" + space-before.optimum="2em" + space-before.maximum="3em" + space-before.precedence="1000" + space-after.minimum="0.2em" + space-after.optimum="0.2em" + space-after.maximum="0.5em" + space-after.precedence="1000">Title 1: To Start With</fo:block> + <fo:block role="Header2" font-weight="bold" font-size="120%" + space-before.minimum="1.2em" + space-before.optimum="1.5em" + space-before.maximum="2em" + space-before.precedence="900" + space-after.minimum="0.2em" + space-after.optimum="0.2em" + space-after.maximum="0.5em" + space-after.precedence="900">A Sub-Title With a Non-Standard Role</fo:block> + <fo:block text-align="justify">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.</fo:block> + <fo:block role="H2" font-weight="bold" font-size="120%" + space-before.minimum="1.2em" + space-before.optimum="1.5em" + space-before.maximum="2em" + space-before.precedence="900" + space-after.minimum="0.2em" + space-after.optimum="0.2em" + space-after.maximum="0.5em" + space-after.precedence="900">Title 2: Another Sub-Title</fo:block> + <fo:block text-align="justify">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.</fo:block> + <fo:block role="H1" font-weight="bold" font-size="150%" + space-before.minimum="1.5em" + space-before.optimum="2em" + space-before.maximum="3em" + space-before.precedence="1000" + space-after.minimum="0.2em" + space-after.optimum="0.2em" + space-after.maximum="0.5em" + space-after.precedence="1000">Title 1: Second Title</fo:block> + <fo:block role="H2" font-weight="bold" font-size="120%" + space-before.minimum="1.2em" + space-before.optimum="1.5em" + space-before.maximum="2em" + space-before.precedence="900" + space-after.minimum="0.2em" + space-after.optimum="0.2em" + space-after.maximum="0.5em" + space-after.precedence="900">Title 2: A Sample Table</fo:block> + <fo:block>See data below:</fo:block> + <fo:table table-layout="fixed" width="70%" start-indent="15%" border="0.5pt solid black"> + <fo:table-header start-indent="0" font-weight="bold" role="TableHeader"> + <fo:table-row> + <fo:table-cell border="0.5pt solid black" padding="2pt"> + <fo:block>Header 1</fo:block> + </fo:table-cell> + <fo:table-cell border="0.5pt solid black" padding="2pt"> + <fo:block>Header 2</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-header> + <fo:table-footer start-indent="0" font-weight="bold"> + <fo:table-row> + <fo:table-cell border="0.5pt solid black" padding="2pt"> + <fo:block>Footer 1</fo:block> + </fo:table-cell> + <fo:table-cell border="0.5pt solid black" padding="2pt"> + <fo:block>Footer 2</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-footer> + <fo:table-body start-indent="0"> + <fo:table-row> + <fo:table-cell border="0.5pt solid black" padding="2pt"> + <fo:block>Cell 1.1</fo:block> + </fo:table-cell> + <fo:table-cell border="0.5pt solid black" padding="2pt"> + <fo:block>Cell 1.2</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell border="0.5pt solid black" padding="2pt"> + <fo:block>Cell 2.1</fo:block> + </fo:table-cell> + <fo:table-cell border="0.5pt solid black" padding="2pt"> + <fo:block>Cell 2.2</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + <fo:block text-align="justify" space-before="0.5em">That’s all folks.</fo:block> + </fo:flow> + </fo:page-sequence> +</fo:root> diff --git a/test/pdf/accessibility/text_1.fo b/test/pdf/accessibility/text_1.fo new file mode 100644 index 000000000..31ad31514 --- /dev/null +++ b/test/pdf/accessibility/text_1.fo @@ -0,0 +1,34 @@ +<?xml version="1.0"?> +<!-- + 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$ --> +<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB"> + <fo:layout-master-set> + <fo:simple-page-master master-name="page" + page-height="220pt" page-width="320pt" margin="10pt"> + <fo:region-body/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="page"> + <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify"> + <fo:block>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.</fo:block> + </fo:flow> + </fo:page-sequence> +</fo:root> diff --git a/test/pdf/accessibility/text_2.fo b/test/pdf/accessibility/text_2.fo new file mode 100644 index 000000000..f5693110e --- /dev/null +++ b/test/pdf/accessibility/text_2.fo @@ -0,0 +1,41 @@ +<?xml version="1.0"?> +<!-- + 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$ --> +<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB"> + <fo:layout-master-set> + <fo:simple-page-master master-name="page" + page-height="220pt" page-width="320pt" margin="10pt"> + <fo:region-body/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="page"> + <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify"> + <fo:block>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.</fo:block> + <fo:block language="fr" country="FR">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.</fo:block> + <fo:block>Back to English and let’s say it again: Apache FOP (Formatting Objects Processor) is + a print formatter driven by XSL formatting objects (XSL-FO) and an output independent + formatter.</fo:block> + </fo:flow> + </fo:page-sequence> +</fo:root> diff --git a/test/pdf/accessibility/text_font-embedding.fo b/test/pdf/accessibility/text_font-embedding.fo new file mode 100644 index 000000000..10c1c99d9 --- /dev/null +++ b/test/pdf/accessibility/text_font-embedding.fo @@ -0,0 +1,34 @@ +<?xml version="1.0"?> +<!-- + 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$ --> +<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="en" country="GB"> + <fo:layout-master-set> + <fo:simple-page-master master-name="page" + page-height="220pt" page-width="320pt" margin="10pt"> + <fo:region-body/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence master-reference="page"> + <fo:flow flow-name="xsl-region-body" hyphenate="true" text-align="justify" font-family="DejaVu"> + <fo:block>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.</fo:block> + </fo:flow> + </fo:page-sequence> +</fo:root> |