Author: tilman Date: Thu Jan 22 17:18:12 2015 New Revision: 1653949 URL: http://svn.apache.org/r1653949 Log: PDFBOX-2621: created test for CreatePDFA that uses preflight to check for PDF/A-1b validity
Added: pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdfa/ pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdfa/CreatePDFATest.java (with props) Modified: pdfbox/trunk/examples/pom.xml Modified: pdfbox/trunk/examples/pom.xml URL: http://svn.apache.org/viewvc/pdfbox/trunk/examples/pom.xml?rev=1653949&r1=1653948&r2=1653949&view=diff ============================================================================== --- pdfbox/trunk/examples/pom.xml (original) +++ pdfbox/trunk/examples/pom.xml Thu Jan 22 17:18:12 2015 @@ -59,6 +59,12 @@ <version>${project.version}</version> </dependency> <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>preflight</artifactId> + <version>${project.version}</version> + <scope>test</scope> + </dependency> + <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> <version>${lucene.version}</version> Added: pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdfa/CreatePDFATest.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdfa/CreatePDFATest.java?rev=1653949&view=auto ============================================================================== --- pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdfa/CreatePDFATest.java (added) +++ pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdfa/CreatePDFATest.java Thu Jan 22 17:18:12 2015 @@ -0,0 +1,68 @@ +/* + * Copyright 2015 The Apache Software Foundation. + * + * Licensed 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. + */ +package org.apache.pdfbox.examples.pdfa; + +import junit.framework.TestCase; + +import java.io.File; +import org.apache.pdfbox.preflight.PreflightDocument; +import org.apache.pdfbox.preflight.ValidationResult; +import org.apache.pdfbox.preflight.ValidationResult.ValidationError; +import org.apache.pdfbox.preflight.parser.PreflightParser; + +/** + * + * @author Tilman Hausherr + */ +public class CreatePDFATest extends TestCase +{ + private final String outDir = "target/test-output/"; + + @Override + protected void setUp() throws Exception + { + super.setUp(); + new File(outDir).mkdirs(); + } + + /** + * Test of doIt method of class CreatePDFA. + */ + public void testCreatePDFA() throws Exception + { + System.out.println("testCreatePDFA"); + String pdfaFilename = outDir + "/PDFA.pdf"; + String message = "The quick brown fox jumps over the lazy dog äöüÃÃÃà @°^²³ {[]}"; + String dir = "../pdfbox/src/main/resources/org/apache/pdfbox/resources/ttf/"; + String fontfile = dir + "LiberationSans-Regular.ttf"; + CreatePDFA instance = new CreatePDFA(); + instance.doIt(pdfaFilename, message, fontfile); + + PreflightParser preflightParser = new PreflightParser(new File(pdfaFilename)); + preflightParser.parse(); + PreflightDocument preflightDocument = preflightParser.getPreflightDocument(); + preflightDocument.validate(); + ValidationResult result = preflightDocument.getResult(); + for (ValidationError ve : result.getErrorsList()) + { + System.err.println(ve.getErrorCode() + ": " + ve.getDetails()); + } + assertTrue("PDF file created with CreatePDFA is not valid PDF/A-1b", result.isValid()); + preflightDocument.close(); + preflightParser.close(); + } + +} Propchange: pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdfa/CreatePDFATest.java ------------------------------------------------------------------------------ svn:eol-style = native