Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.19 KB | None | 0 0
  1. <dependency>
  2. <groupId>org.verapdf</groupId>
  3. <artifactId>pdfbox-validation-model</artifactId>
  4. <version>1.4.5</version>
  5. </dependency>
  6.  
  7. Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/fontbox/type1/DamagedFontException
  8. at org.apache.pdfbox.pdmodel.font.PDFontFactory.createFont(PDFontFactory.java:62)
  9. at org.apache.pdfbox.pdmodel.PDResources.getFont(PDResources.java:109)
  10. at org.verapdf.model.tools.resources.PDInheritableResources.getFont(PDInheritableResources.java:80)
  11. at org.verapdf.model.impl.pb.operator.textshow.PBOpTextShow.getFontFromResources(PBOpTextShow.java:299)
  12. at org.verapdf.model.impl.pb.operator.textshow.PBOpTextShow.parseFont(PBOpTextShow.java:127)
  13. at org.verapdf.model.impl.pb.operator.textshow.PBOpTextShow.getVeraModelFont(PBOpTextShow.java:121)
  14. at org.verapdf.model.factory.operator.OperatorParser.addFontAndColorSpace(OperatorParser.java:589)
  15. at org.verapdf.model.factory.operator.OperatorParser.parseOperator(OperatorParser.java:261)
  16. at org.verapdf.model.factory.operator.OperatorFactory.operatorsFromTokens(OperatorFactory.java:124)
  17. at org.verapdf.model.impl.pb.pd.PBoxPDContentStream.parseOperators(PBoxPDContentStream.java:100)
  18. at org.verapdf.model.impl.pb.pd.PBoxPDContentStream.isContainsTransparency(PBoxPDContentStream.java:87)
  19. at org.verapdf.model.impl.pb.pd.PBoxPDPage.parseContentStream(PBoxPDPage.java:205)
  20. at org.verapdf.model.impl.pb.pd.PBoxPDPage.getContentStream(PBoxPDPage.java:192)
  21. at org.verapdf.model.impl.pb.pd.PBoxPDPage.getLinkedObjects(PBoxPDPage.java:134)
  22. at org.verapdf.pdfa.validation.validators.BaseValidator.addAllLinkedObjects(BaseValidator.java:240)
  23. at org.verapdf.pdfa.validation.validators.BaseValidator.checkNext(BaseValidator.java:185)
  24. at org.verapdf.pdfa.validation.validators.BaseValidator.validate(BaseValidator.java:136)
  25. at org.verapdf.pdfa.validation.validators.BaseValidator.validate(BaseValidator.java:107)
  26. at cz.vums.deepam.ValidationTestOpt.isCompliant(ValidationTestOpt.java:53)
  27. at cz.vums.deepam.ValidationTestOpt.main(ValidationTestOpt.java:92)
  28. Caused by: java.lang.ClassNotFoundException: org.apache.fontbox.type1.DamagedFontException
  29. at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
  30. at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
  31. at java.security.AccessController.doPrivileged(Native Method)
  32. at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
  33. at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
  34. at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
  35. at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
  36. ... 20 more
  37.  
  38. <dependency>
  39. <groupId>org.verapdf</groupId>
  40. <artifactId>pdfbox-validation-model</artifactId>
  41. <version>1.4.5</version>
  42. </dependency>
  43.  
  44. <dependency>
  45. <groupId>org.apache.pdfbox</groupId>
  46. <artifactId>pdfbox</artifactId>
  47. <version>2.0.12</version>
  48. </dependency>
  49.  
  50. Exception in thread "main" java.lang.NoSuchMethodError: org.apache.fontbox.ttf.TrueTypeCollection.getFonts()Ljava/util/List;
  51. at org.apache.pdfbox.pdmodel.font.FileSystemFontProvider.addTrueTypeCollection(FileSystemFontProvider.java:174)
  52. at org.apache.pdfbox.pdmodel.font.FileSystemFontProvider.<init>(FileSystemFontProvider.java:151)
  53. at org.apache.pdfbox.pdmodel.font.FontMapper$DefaultFontProvider.<clinit>(FontMapper.java:73)
  54. at org.apache.pdfbox.pdmodel.font.FontMapper.getProvider(FontMapper.java:92)
  55. at org.apache.pdfbox.pdmodel.font.FontMapper.findFont(FontMapper.java:407)
  56. at org.apache.pdfbox.pdmodel.font.FontMapper.findFontBoxFont(FontMapper.java:376)
  57. at org.apache.pdfbox.pdmodel.font.FontMapper.getFontBoxFont(FontMapper.java:349)
  58. at org.apache.pdfbox.pdmodel.font.PDType1Font.<init>(PDType1Font.java:112)
  59. at org.apache.pdfbox.pdmodel.font.PDType1Font.<clinit>(PDType1Font.java:73)
  60. at org.apache.pdfbox.pdmodel.font.PDFontFactory.createFont(PDFontFactory.java:62)
  61. at org.apache.pdfbox.pdmodel.PDResources.getFont(PDResources.java:109)
  62. at org.verapdf.model.tools.resources.PDInheritableResources.getFont(PDInheritableResources.java:80)
  63. at org.verapdf.model.impl.pb.operator.textshow.PBOpTextShow.getFontFromResources(PBOpTextShow.java:299)
  64. at org.verapdf.model.impl.pb.operator.textshow.PBOpTextShow.parseFont(PBOpTextShow.java:127)
  65. at org.verapdf.model.impl.pb.operator.textshow.PBOpTextShow.getVeraModelFont(PBOpTextShow.java:121)
  66. at org.verapdf.model.factory.operator.OperatorParser.addFontAndColorSpace(OperatorParser.java:589)
  67. at org.verapdf.model.factory.operator.OperatorParser.parseOperator(OperatorParser.java:261)
  68. at org.verapdf.model.factory.operator.OperatorFactory.operatorsFromTokens(OperatorFactory.java:124)
  69. at org.verapdf.model.impl.pb.pd.PBoxPDContentStream.parseOperators(PBoxPDContentStream.java:100)
  70. at org.verapdf.model.impl.pb.pd.PBoxPDContentStream.isContainsTransparency(PBoxPDContentStream.java:87)
  71. at org.verapdf.model.impl.pb.pd.PBoxPDPage.parseContentStream(PBoxPDPage.java:205)
  72. at org.verapdf.model.impl.pb.pd.PBoxPDPage.getContentStream(PBoxPDPage.java:192)
  73. at org.verapdf.model.impl.pb.pd.PBoxPDPage.getLinkedObjects(PBoxPDPage.java:134)
  74. at org.verapdf.pdfa.validation.validators.BaseValidator.addAllLinkedObjects(BaseValidator.java:240)
  75. at org.verapdf.pdfa.validation.validators.BaseValidator.checkNext(BaseValidator.java:185)
  76. at org.verapdf.pdfa.validation.validators.BaseValidator.validate(BaseValidator.java:136)
  77. at org.verapdf.pdfa.validation.validators.BaseValidator.validate(BaseValidator.java:107)
  78. at cz.vums.deepam.ValidationTestOpt.isCompliant(ValidationTestOpt.java:53)
  79. at cz.vums.deepam.ValidationTestOpt.main(ValidationTestOpt.java:92)
  80.  
  81. ...
  82. import org.verapdf.core.EncryptedPdfException;
  83. import org.verapdf.core.ModelParsingException;
  84. import org.verapdf.pdfa.Foundries;
  85. import org.verapdf.pdfa.PDFAParser;
  86. import org.verapdf.pdfa.PDFAValidator;
  87. import org.verapdf.pdfa.PdfBoxFoundryProvider;
  88. import org.verapdf.pdfa.flavours.PDFAFlavour;
  89. import org.verapdf.pdfa.results.ValidationResult;
  90.  
  91. import com.google.common.base.Stopwatch;
  92.  
  93. public class ValidationTestOpt {
  94. private static org.slf4j.Logger logger = LoggerFactory.getLogger(ValidationTestOpt.class);
  95.  
  96. static String FILENAME;
  97. Stopwatch timer;
  98.  
  99. public ValidationTestOpt() {
  100. PdfBoxFoundryProvider.initialise();
  101. timer = Stopwatch.createUnstarted();
  102. }
  103.  
  104. private void timerStart() {
  105. timer.reset();
  106. timer.start();
  107. }
  108.  
  109. private void timerStop() {
  110. timer.stop();
  111. System.out.println("Elapsed: " + timer.toString());
  112. }
  113.  
  114. public boolean isCompliant(InputStream stream, PDFAFlavour[] flavours) {
  115.  
  116. boolean isComp = false;
  117. // PDFAFlavour flavour = PDFAFlavour.PDFA_1_B;
  118. timerStart();
  119. System.out.println("Initialization...");
  120. ValidationResult result = null;
  121. try (PDFAParser parser = Foundries.defaultInstance().createParser(stream)) {
  122. timerStop();
  123. for (PDFAFlavour flavour : flavours) {
  124. timerStart();
  125. PDFAValidator validator = Foundries.defaultInstance().createValidator(flavour, false);
  126. result = validator.validate(parser);
  127. if (isComp = result.isCompliant()) {
  128. System.out.println("+++ " + FILENAME + " is compliant with " + flavour.name());
  129. } else {
  130. System.out.println("--- " + FILENAME + " is not compliant with " + flavour.name());
  131. }
  132. timerStop();
  133. // stream.reset();
  134. }
  135. } catch (ModelParsingException | EncryptedPdfException | IOException e) {
  136. System.out.println("Chyba pri parsovani nebo validovani." + e);
  137. return false;
  138. } catch (Exception ex) {
  139. System.out.println(
  140. "Obecna chyba pri parsovani nebo validovani, pravdepodobne jde o nestandardni PDF formular." + ex);
  141. return false;
  142. }
  143. return isComp;
  144. }
  145.  
  146. public static void main(String[] args) {
  147. // FILENAME = "veraPDF test suite 6-1-2-t02-pass-a.pdf"; // pdf 2b
  148. // FILENAME = "veraPDF test suite 6-1-12-t03-pass-a.pdf"; // pdf 1b
  149. // FILENAME = "veraPDF test suite 6-8-2-2-t01-fail-a.pdf"; // pdf 1b
  150. // FILENAME = "veraPDF test suite 6-8-2-2-t01-pass-a.pdf"; // pdf 1a, 1b
  151. // FILENAME = "veraPDF test suite 6-2-11-7-2-t01-pass-a.pdf"; // pdf 2b, 2u
  152. // FILENAME = "veraPDF test suite 6-8-t02-pass-g.pdf"; // pdf 3b
  153. // FILENAME = "SoapUI_101_eBook_PDF.pdf";
  154. // FILENAME = "ASUS_MB16AC_English_20170519.pdf";
  155. FILENAME = "6456729-000063330_2015-R_030825.pdf"; // formular damaged
  156.  
  157. ValidationTestOpt val = new ValidationTestOpt();
  158. PDFAFlavour[] flavours = { PDFAFlavour.PDFA_1_A, PDFAFlavour.PDFA_1_B, PDFAFlavour.PDFA_2_A,
  159. PDFAFlavour.PDFA_2_B, PDFAFlavour.PDFA_2_U, PDFAFlavour.PDFA_3_A, PDFAFlavour.PDFA_3_B,
  160. PDFAFlavour.PDFA_3_U };
  161.  
  162. File file = new File(FILENAME);
  163. try (InputStream is = new FileInputStream(
  164. file) /* new ByteArrayInputStream(FileUtils.readFileToByteArray(file)) */) {
  165. if (val.isCompliant(is, flavours)) {
  166. System.out.println("+++ " + FILENAME + " is compliant.");
  167. } else {
  168. System.out.println("--- " + FILENAME + " is not compliant.");
  169. }
  170. } catch (IOException e) {
  171. System.out.println("IO exception pri pokusu o otevreni streamu, filename " + FILENAME + ".");
  172. e.printStackTrace();
  173. } catch (Exception ex) {
  174. System.out.println(
  175. "Obecna chyba pri parsovani nebo validovani, pravdepodobne jde o nestandardni PDF formular." + ex);
  176. }
  177. System.out.println("*** " + FILENAME + " finished.");
  178. }
  179. }
  180.  
  181. <!-- https://mvnrepository.com/artifact/org.verapdf/validation-model -->
  182. <dependency>
  183. <groupId>org.verapdf</groupId>
  184. <artifactId>pdfbox-validation-model</artifactId>
  185. <version>1.13.0-SNAPSHOT</version>
  186. </dependency>
  187.  
  188. } catch (Throwable error) {
  189. System.out.println(
  190. "General Error of PDF."
  191. + error);
  192. error.printStackTrace();
  193. return false;
  194. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement