Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <dependency>
- <groupId>org.verapdf</groupId>
- <artifactId>pdfbox-validation-model</artifactId>
- <version>1.4.5</version>
- </dependency>
- Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/fontbox/type1/DamagedFontException
- at org.apache.pdfbox.pdmodel.font.PDFontFactory.createFont(PDFontFactory.java:62)
- at org.apache.pdfbox.pdmodel.PDResources.getFont(PDResources.java:109)
- at org.verapdf.model.tools.resources.PDInheritableResources.getFont(PDInheritableResources.java:80)
- at org.verapdf.model.impl.pb.operator.textshow.PBOpTextShow.getFontFromResources(PBOpTextShow.java:299)
- at org.verapdf.model.impl.pb.operator.textshow.PBOpTextShow.parseFont(PBOpTextShow.java:127)
- at org.verapdf.model.impl.pb.operator.textshow.PBOpTextShow.getVeraModelFont(PBOpTextShow.java:121)
- at org.verapdf.model.factory.operator.OperatorParser.addFontAndColorSpace(OperatorParser.java:589)
- at org.verapdf.model.factory.operator.OperatorParser.parseOperator(OperatorParser.java:261)
- at org.verapdf.model.factory.operator.OperatorFactory.operatorsFromTokens(OperatorFactory.java:124)
- at org.verapdf.model.impl.pb.pd.PBoxPDContentStream.parseOperators(PBoxPDContentStream.java:100)
- at org.verapdf.model.impl.pb.pd.PBoxPDContentStream.isContainsTransparency(PBoxPDContentStream.java:87)
- at org.verapdf.model.impl.pb.pd.PBoxPDPage.parseContentStream(PBoxPDPage.java:205)
- at org.verapdf.model.impl.pb.pd.PBoxPDPage.getContentStream(PBoxPDPage.java:192)
- at org.verapdf.model.impl.pb.pd.PBoxPDPage.getLinkedObjects(PBoxPDPage.java:134)
- at org.verapdf.pdfa.validation.validators.BaseValidator.addAllLinkedObjects(BaseValidator.java:240)
- at org.verapdf.pdfa.validation.validators.BaseValidator.checkNext(BaseValidator.java:185)
- at org.verapdf.pdfa.validation.validators.BaseValidator.validate(BaseValidator.java:136)
- at org.verapdf.pdfa.validation.validators.BaseValidator.validate(BaseValidator.java:107)
- at cz.vums.deepam.ValidationTestOpt.isCompliant(ValidationTestOpt.java:53)
- at cz.vums.deepam.ValidationTestOpt.main(ValidationTestOpt.java:92)
- Caused by: java.lang.ClassNotFoundException: org.apache.fontbox.type1.DamagedFontException
- at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
- at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
- at java.security.AccessController.doPrivileged(Native Method)
- at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
- at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
- at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
- at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
- ... 20 more
- <dependency>
- <groupId>org.verapdf</groupId>
- <artifactId>pdfbox-validation-model</artifactId>
- <version>1.4.5</version>
- </dependency>
- <dependency>
- <groupId>org.apache.pdfbox</groupId>
- <artifactId>pdfbox</artifactId>
- <version>2.0.12</version>
- </dependency>
- Exception in thread "main" java.lang.NoSuchMethodError: org.apache.fontbox.ttf.TrueTypeCollection.getFonts()Ljava/util/List;
- at org.apache.pdfbox.pdmodel.font.FileSystemFontProvider.addTrueTypeCollection(FileSystemFontProvider.java:174)
- at org.apache.pdfbox.pdmodel.font.FileSystemFontProvider.<init>(FileSystemFontProvider.java:151)
- at org.apache.pdfbox.pdmodel.font.FontMapper$DefaultFontProvider.<clinit>(FontMapper.java:73)
- at org.apache.pdfbox.pdmodel.font.FontMapper.getProvider(FontMapper.java:92)
- at org.apache.pdfbox.pdmodel.font.FontMapper.findFont(FontMapper.java:407)
- at org.apache.pdfbox.pdmodel.font.FontMapper.findFontBoxFont(FontMapper.java:376)
- at org.apache.pdfbox.pdmodel.font.FontMapper.getFontBoxFont(FontMapper.java:349)
- at org.apache.pdfbox.pdmodel.font.PDType1Font.<init>(PDType1Font.java:112)
- at org.apache.pdfbox.pdmodel.font.PDType1Font.<clinit>(PDType1Font.java:73)
- at org.apache.pdfbox.pdmodel.font.PDFontFactory.createFont(PDFontFactory.java:62)
- at org.apache.pdfbox.pdmodel.PDResources.getFont(PDResources.java:109)
- at org.verapdf.model.tools.resources.PDInheritableResources.getFont(PDInheritableResources.java:80)
- at org.verapdf.model.impl.pb.operator.textshow.PBOpTextShow.getFontFromResources(PBOpTextShow.java:299)
- at org.verapdf.model.impl.pb.operator.textshow.PBOpTextShow.parseFont(PBOpTextShow.java:127)
- at org.verapdf.model.impl.pb.operator.textshow.PBOpTextShow.getVeraModelFont(PBOpTextShow.java:121)
- at org.verapdf.model.factory.operator.OperatorParser.addFontAndColorSpace(OperatorParser.java:589)
- at org.verapdf.model.factory.operator.OperatorParser.parseOperator(OperatorParser.java:261)
- at org.verapdf.model.factory.operator.OperatorFactory.operatorsFromTokens(OperatorFactory.java:124)
- at org.verapdf.model.impl.pb.pd.PBoxPDContentStream.parseOperators(PBoxPDContentStream.java:100)
- at org.verapdf.model.impl.pb.pd.PBoxPDContentStream.isContainsTransparency(PBoxPDContentStream.java:87)
- at org.verapdf.model.impl.pb.pd.PBoxPDPage.parseContentStream(PBoxPDPage.java:205)
- at org.verapdf.model.impl.pb.pd.PBoxPDPage.getContentStream(PBoxPDPage.java:192)
- at org.verapdf.model.impl.pb.pd.PBoxPDPage.getLinkedObjects(PBoxPDPage.java:134)
- at org.verapdf.pdfa.validation.validators.BaseValidator.addAllLinkedObjects(BaseValidator.java:240)
- at org.verapdf.pdfa.validation.validators.BaseValidator.checkNext(BaseValidator.java:185)
- at org.verapdf.pdfa.validation.validators.BaseValidator.validate(BaseValidator.java:136)
- at org.verapdf.pdfa.validation.validators.BaseValidator.validate(BaseValidator.java:107)
- at cz.vums.deepam.ValidationTestOpt.isCompliant(ValidationTestOpt.java:53)
- at cz.vums.deepam.ValidationTestOpt.main(ValidationTestOpt.java:92)
- ...
- import org.verapdf.core.EncryptedPdfException;
- import org.verapdf.core.ModelParsingException;
- import org.verapdf.pdfa.Foundries;
- import org.verapdf.pdfa.PDFAParser;
- import org.verapdf.pdfa.PDFAValidator;
- import org.verapdf.pdfa.PdfBoxFoundryProvider;
- import org.verapdf.pdfa.flavours.PDFAFlavour;
- import org.verapdf.pdfa.results.ValidationResult;
- import com.google.common.base.Stopwatch;
- public class ValidationTestOpt {
- private static org.slf4j.Logger logger = LoggerFactory.getLogger(ValidationTestOpt.class);
- static String FILENAME;
- Stopwatch timer;
- public ValidationTestOpt() {
- PdfBoxFoundryProvider.initialise();
- timer = Stopwatch.createUnstarted();
- }
- private void timerStart() {
- timer.reset();
- timer.start();
- }
- private void timerStop() {
- timer.stop();
- System.out.println("Elapsed: " + timer.toString());
- }
- public boolean isCompliant(InputStream stream, PDFAFlavour[] flavours) {
- boolean isComp = false;
- // PDFAFlavour flavour = PDFAFlavour.PDFA_1_B;
- timerStart();
- System.out.println("Initialization...");
- ValidationResult result = null;
- try (PDFAParser parser = Foundries.defaultInstance().createParser(stream)) {
- timerStop();
- for (PDFAFlavour flavour : flavours) {
- timerStart();
- PDFAValidator validator = Foundries.defaultInstance().createValidator(flavour, false);
- result = validator.validate(parser);
- if (isComp = result.isCompliant()) {
- System.out.println("+++ " + FILENAME + " is compliant with " + flavour.name());
- } else {
- System.out.println("--- " + FILENAME + " is not compliant with " + flavour.name());
- }
- timerStop();
- // stream.reset();
- }
- } catch (ModelParsingException | EncryptedPdfException | IOException e) {
- System.out.println("Chyba pri parsovani nebo validovani." + e);
- return false;
- } catch (Exception ex) {
- System.out.println(
- "Obecna chyba pri parsovani nebo validovani, pravdepodobne jde o nestandardni PDF formular." + ex);
- return false;
- }
- return isComp;
- }
- public static void main(String[] args) {
- // FILENAME = "veraPDF test suite 6-1-2-t02-pass-a.pdf"; // pdf 2b
- // FILENAME = "veraPDF test suite 6-1-12-t03-pass-a.pdf"; // pdf 1b
- // FILENAME = "veraPDF test suite 6-8-2-2-t01-fail-a.pdf"; // pdf 1b
- // FILENAME = "veraPDF test suite 6-8-2-2-t01-pass-a.pdf"; // pdf 1a, 1b
- // FILENAME = "veraPDF test suite 6-2-11-7-2-t01-pass-a.pdf"; // pdf 2b, 2u
- // FILENAME = "veraPDF test suite 6-8-t02-pass-g.pdf"; // pdf 3b
- // FILENAME = "SoapUI_101_eBook_PDF.pdf";
- // FILENAME = "ASUS_MB16AC_English_20170519.pdf";
- FILENAME = "6456729-000063330_2015-R_030825.pdf"; // formular damaged
- ValidationTestOpt val = new ValidationTestOpt();
- PDFAFlavour[] flavours = { PDFAFlavour.PDFA_1_A, PDFAFlavour.PDFA_1_B, PDFAFlavour.PDFA_2_A,
- PDFAFlavour.PDFA_2_B, PDFAFlavour.PDFA_2_U, PDFAFlavour.PDFA_3_A, PDFAFlavour.PDFA_3_B,
- PDFAFlavour.PDFA_3_U };
- File file = new File(FILENAME);
- try (InputStream is = new FileInputStream(
- file) /* new ByteArrayInputStream(FileUtils.readFileToByteArray(file)) */) {
- if (val.isCompliant(is, flavours)) {
- System.out.println("+++ " + FILENAME + " is compliant.");
- } else {
- System.out.println("--- " + FILENAME + " is not compliant.");
- }
- } catch (IOException e) {
- System.out.println("IO exception pri pokusu o otevreni streamu, filename " + FILENAME + ".");
- e.printStackTrace();
- } catch (Exception ex) {
- System.out.println(
- "Obecna chyba pri parsovani nebo validovani, pravdepodobne jde o nestandardni PDF formular." + ex);
- }
- System.out.println("*** " + FILENAME + " finished.");
- }
- }
- <!-- https://mvnrepository.com/artifact/org.verapdf/validation-model -->
- <dependency>
- <groupId>org.verapdf</groupId>
- <artifactId>pdfbox-validation-model</artifactId>
- <version>1.13.0-SNAPSHOT</version>
- </dependency>
- } catch (Throwable error) {
- System.out.println(
- "General Error of PDF."
- + error);
- error.printStackTrace();
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement