@pdftron/pdfnet-node-samples 9.4.2 → 9.5.0-2-beta-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/package.json +18 -18
  2. package/readme.md +12 -12
  3. package/samples/AddImageTest/AddImageTest.js +2 -2
  4. package/samples/AdvancedImagingTest/AdvancedImagingTest.js +3 -3
  5. package/samples/AnnotationTest/AnnotationTest.js +2 -2
  6. package/samples/BookmarkTest/BookmarkTest.js +2 -2
  7. package/samples/CAD2PDFTest/CAD2PDFTest.js +79 -79
  8. package/samples/ContentReplacerTest/ContentReplacerTest.js +2 -2
  9. package/samples/ConvertTest/ConvertTest.js +270 -256
  10. package/samples/DataExtractionTest/DataExtractionTest.js +180 -0
  11. package/samples/DigitalSignaturesTest/DigitalSignaturesTest.js +526 -526
  12. package/samples/ElementBuilderTest/ElementBuilderTest.js +2 -2
  13. package/samples/ElementEditTest/ElementEditTest.js +2 -2
  14. package/samples/ElementReaderAdvTest/ElementReaderAdvTest.js +2 -2
  15. package/samples/ElementReaderTest/ElementReaderTest.js +2 -2
  16. package/samples/EncTest/EncTest.js +2 -2
  17. package/samples/FDFTest/FDFTest.js +218 -218
  18. package/samples/HTML2PDFTest/HTML2PDFTest.js +165 -165
  19. package/samples/HighlightsTest/HighlightsTest.js +2 -2
  20. package/samples/ImageExtractTest/ImageExtractTest.js +129 -129
  21. package/samples/ImpositionTest/ImpositionTest.js +86 -86
  22. package/samples/InteractiveFormsTest/InteractiveFormsTest.js +381 -381
  23. package/samples/JBIG2Test/JBIG2Test.js +88 -88
  24. package/samples/LogicalStructureTest/LogicalStructureTest.js +2 -2
  25. package/samples/OCRTest/OCRTest.js +234 -234
  26. package/samples/OfficeTemplateTest/OfficeTemplateTest.js +79 -77
  27. package/samples/OfficeToPDFTest/OfficeToPDFTest.js +125 -125
  28. package/samples/OptimizerTest/OptimizerTest.js +191 -191
  29. package/samples/PDF2HtmlTest/PDF2HtmlTest.js +3 -3
  30. package/samples/PDF2OfficeTest/PDF2OfficeTest.js +3 -3
  31. package/samples/PDFATest/PDFATest.js +2 -2
  32. package/samples/PDFDocMemoryTest/PDFDocMemoryTest.js +84 -84
  33. package/samples/PDFDrawTest/PDFDrawTest.js +2 -2
  34. package/samples/PDFLayersTest/PDFLayersTest.js +2 -2
  35. package/samples/PDFPackageTest/PDFPackageTest.js +111 -111
  36. package/samples/PDFPageTest/PDFPageTest.js +2 -2
  37. package/samples/PDFRedactTest/PDFRedactTest.js +2 -2
  38. package/samples/PageLabelsTest/PageLabelsTest.js +138 -138
  39. package/samples/PatternTest/PatternTest.js +226 -226
  40. package/samples/RectTest/RectTest.js +2 -2
  41. package/samples/SDFTest/SDFTest.js +3 -4
  42. package/samples/StamperTest/StamperTest.js +2 -2
  43. package/samples/TextExtractTest/TextExtractTest.js +2 -2
  44. package/samples/TextSearchTest/TextSearchTest.js +2 -2
  45. package/samples/U3DTest/U3DTest.js +104 -104
  46. package/samples/UndoRedoTest/UndoRedoTest.js +2 -2
  47. package/samples/UnicodeWriteTest/UnicodeWriteTest.js +2 -2
  48. package/samples/WebViewerConvertTest/WebViewerConvertTest.js +135 -135
  49. package/samples/runall.bat +6 -5
  50. package/samples/runall.sh +4 -5
  51. package/samples/TestFiles/BusinessCardTemplate.pdf +0 -0
  52. package/samples/TestFiles/Fishermen.docx +0 -0
  53. package/samples/TestFiles/Font_licenses.txt +0 -140
  54. package/samples/TestFiles/GlobalSignRootForTST.cer +0 -0
  55. package/samples/TestFiles/License.txt +0 -1
  56. package/samples/TestFiles/Misc-Fixed.pfa +0 -1166
  57. package/samples/TestFiles/NotoSans_with_hindi.ttf +0 -0
  58. package/samples/TestFiles/Output/empty +0 -1
  59. package/samples/TestFiles/SHA-2 Root USERTrust RSA CA Sectigo timestamping.crt +0 -34
  60. package/samples/TestFiles/SYH_Letter.docx +0 -0
  61. package/samples/TestFiles/TigerText.pdf +0 -0
  62. package/samples/TestFiles/US061222892-a.pdf +0 -0
  63. package/samples/TestFiles/butterfly.png +0 -0
  64. package/samples/TestFiles/credit card numbers.pdf +0 -0
  65. package/samples/TestFiles/dice.jpg +0 -0
  66. package/samples/TestFiles/dice.u3d +0 -0
  67. package/samples/TestFiles/doc_to_sign.pdf +0 -0
  68. package/samples/TestFiles/factsheet_Arabic.docx +0 -0
  69. package/samples/TestFiles/fish.pdf +0 -0
  70. package/samples/TestFiles/font.ttf +0 -0
  71. package/samples/TestFiles/form1.pdf +1 -245
  72. package/samples/TestFiles/form1_annots.xfdf +0 -34
  73. package/samples/TestFiles/form1_data.fdf +0 -4
  74. package/samples/TestFiles/form1_data.xfdf +0 -140
  75. package/samples/TestFiles/grayscale.tif +0 -0
  76. package/samples/TestFiles/hindi_sample_utf16le.txt +0 -0
  77. package/samples/TestFiles/imagemask.dat +0 -32
  78. package/samples/TestFiles/logo_red.png +0 -0
  79. package/samples/TestFiles/lorem_ipsum.pdf +0 -0
  80. package/samples/TestFiles/multipage.tif +0 -0
  81. package/samples/TestFiles/my_stream.txt +0 -2310
  82. package/samples/TestFiles/newsletter.pdf +0 -0
  83. package/samples/TestFiles/newsletter.xod +0 -0
  84. package/samples/TestFiles/numbered.pdf +0 -0
  85. package/samples/TestFiles/op_blend_test.pdf +0 -1498
  86. package/samples/TestFiles/palm.jp2 +0 -0
  87. package/samples/TestFiles/paragraphs_and_tables.pdf +0 -0
  88. package/samples/TestFiles/pdfnet.gif +0 -0
  89. package/samples/TestFiles/pdftron.bmp +0 -0
  90. package/samples/TestFiles/pdftron.cer +0 -0
  91. package/samples/TestFiles/pdftron.pfx +0 -0
  92. package/samples/TestFiles/pdftron_smart_substitution.plugin +0 -0
  93. package/samples/TestFiles/peppers.jpg +0 -0
  94. package/samples/TestFiles/signature.jpg +0 -0
  95. package/samples/TestFiles/simple-emf.emf +0 -0
  96. package/samples/TestFiles/simple-excel_2007.xlsx +0 -0
  97. package/samples/TestFiles/simple-outlook.msg +0 -0
  98. package/samples/TestFiles/simple-powerpoint_2007.pptx +0 -0
  99. package/samples/TestFiles/simple-publisher.pub +0 -0
  100. package/samples/TestFiles/simple-rtf.rtf +0 -224
  101. package/samples/TestFiles/simple-text.txt +0 -61
  102. package/samples/TestFiles/simple-visio.vsd +0 -0
  103. package/samples/TestFiles/simple-webpage.html +0 -731
  104. package/samples/TestFiles/simple-webpage.mht +0 -6972
  105. package/samples/TestFiles/simple-webpage_files/colorschememapping.xml +0 -2
  106. package/samples/TestFiles/simple-webpage_files/filelist.xml +0 -14
  107. package/samples/TestFiles/simple-webpage_files/image001.gif +0 -0
  108. package/samples/TestFiles/simple-webpage_files/image002.png +0 -0
  109. package/samples/TestFiles/simple-webpage_files/image003.jpg +0 -0
  110. package/samples/TestFiles/simple-webpage_files/image004.emz +0 -0
  111. package/samples/TestFiles/simple-webpage_files/image005.gif +0 -0
  112. package/samples/TestFiles/simple-webpage_files/image006.png +0 -0
  113. package/samples/TestFiles/simple-webpage_files/image007.gif +0 -0
  114. package/samples/TestFiles/simple-webpage_files/oledata.mso +0 -0
  115. package/samples/TestFiles/simple-webpage_files/themedata.thmx +0 -0
  116. package/samples/TestFiles/simple-word_2007.docx +0 -0
  117. package/samples/TestFiles/simple-xps.xps +0 -0
  118. package/samples/TestFiles/tagged.pdf +0 -0
  119. package/samples/TestFiles/the_rime_of_the_ancient_mariner.docx +0 -0
  120. package/samples/TestFiles/tiger.pdf +0 -0
  121. package/samples/TestFiles/waiver.pdf +0 -0
  122. package/samples/TestFiles/waiver_withApprovalField.pdf +0 -0
  123. package/samples/TestFiles/waiver_withApprovalField_certified.pdf +1 -424
  124. package/samples/TestFiles/waiver_withApprovalField_certified_approved.pdf +1 -466
@@ -0,0 +1,180 @@
1
+ //---------------------------------------------------------------------------------------
2
+ // Copyright (c) 2001-2023 by PDFTron Systems Inc. All Rights Reserved.
3
+ // Consult legal.txt regarding legal and license information.
4
+ //---------------------------------------------------------------------------------------
5
+
6
+ //---------------------------------------------------------------------------------------
7
+ // The Data Extraction suite is an optional PDFNet add-on collection that can be used to
8
+ // extract various types of data from PDF documents.
9
+ //
10
+ // The PDFTron SDK Data Extraction suite can be downloaded from http://www.pdftron.com/
11
+ //---------------------------------------------------------------------------------------
12
+
13
+ const fs = require('fs');
14
+ const { PDFNet } = require('../lib/pdfnet.js');
15
+ const PDFTronLicense = require('../LicenseKey/LicenseKey');
16
+
17
+ ((exports) => {
18
+ 'use strict';
19
+
20
+ exports.runDataExtractionTest = () => {
21
+
22
+ const main = async () => {
23
+
24
+ const inputPath = '../TestFiles/';
25
+ const outputPath = '../TestFiles/Output/';
26
+
27
+ //////////////////////////////////////////////////////////////////////////
28
+
29
+ await PDFNet.addResourceSearchPath('../lib/');
30
+
31
+ //////////////////////////////////////////////////////////////////////////
32
+ // The following sample illustrates how to extract tables from PDF documents.
33
+ //////////////////////////////////////////////////////////////////////////
34
+
35
+ // Test if the add-on is installed
36
+ if (!await PDFNet.DataExtractionModule.isModuleAvailable(PDFNet.DataExtractionModule.DataExtractionEngine.e_Tabular)) {
37
+ console.log('\nUnable to run Data Extraction: PDFTron SDK Tabular Data module not available.');
38
+ console.log('---------------------------------------------------------------');
39
+ console.log('The Data Extraction suite is an optional add-on, available for download');
40
+ console.log('at https://www.pdftron.com/documentation/core/info/modules/. If you have already');
41
+ console.log('downloaded this module, ensure that the SDK is able to find the required files');
42
+ console.log('using the PDFNet.addResourceSearchPath() function.\n');
43
+ }
44
+ else
45
+ {
46
+ try {
47
+ // Extract tabular data as a JSON file
48
+ console.log('Extract tabular data as a JSON file');
49
+
50
+ let outputFile = outputPath + 'table.json';
51
+ await PDFNet.DataExtractionModule.extractData(inputPath + 'table.pdf', outputFile, PDFNet.DataExtractionModule.DataExtractionEngine.e_Tabular);
52
+
53
+ console.log('Result saved in ' + outputFile);
54
+
55
+ ///////////////////////////////////////////////////////
56
+ // Extract tabular data as a JSON string
57
+ console.log('Extract tabular data as a JSON string');
58
+
59
+ outputFile = outputPath + 'financial.json';
60
+ const json = await PDFNet.DataExtractionModule.extractDataAsString(inputPath + 'financial.pdf', PDFNet.DataExtractionModule.DataExtractionEngine.e_Tabular);
61
+ fs.writeFileSync(outputFile, json);
62
+
63
+ console.log('Result saved in ' + outputFile);
64
+
65
+ ///////////////////////////////////////////////////////
66
+ // Extract tabular data as an XLSX file
67
+ console.log('Extract tabular data as an XLSX file');
68
+
69
+ outputFile = outputPath + 'table.xlsx';
70
+ await PDFNet.DataExtractionModule.extractToXLSX(inputPath + 'table.pdf', outputFile);
71
+
72
+ console.log('Result saved in ' + outputFile);
73
+
74
+ ///////////////////////////////////////////////////////
75
+ // Extract tabular data as an XLSX stream (also known as filter)
76
+ console.log('Extract tabular data as an XLSX stream');
77
+
78
+ outputFile = outputPath + 'financial.xlsx';
79
+ const outputXlsxStream = await PDFNet.Filter.createMemoryFilter(0, false);
80
+ const options = new PDFNet.DataExtractionModule.DataExtractionOptions();
81
+ options.setPages("1"); // page 1
82
+ await PDFNet.DataExtractionModule.extractToXLSXWithFilter(inputPath + 'financial.pdf', outputXlsxStream, options);
83
+ outputXlsxStream.memoryFilterSetAsInputFilter();
84
+ outputXlsxStream.writeToFile(outputFile, false);
85
+
86
+ console.log('Result saved in ' + outputFile);
87
+ } catch (err) {
88
+ console.log(err);
89
+ }
90
+ }
91
+
92
+ //////////////////////////////////////////////////////////////////////////
93
+ // The following sample illustrates how to extract document structure from PDF documents.
94
+ //////////////////////////////////////////////////////////////////////////
95
+
96
+ // Test if the add-on is installed
97
+ if (!await PDFNet.DataExtractionModule.isModuleAvailable(PDFNet.DataExtractionModule.DataExtractionEngine.e_DocStructure)) {
98
+ console.log('\nUnable to run Data Extraction: PDFTron SDK Structured Output module not available.');
99
+ console.log('---------------------------------------------------------------');
100
+ console.log('The Data Extraction suite is an optional add-on, available for download');
101
+ console.log('at https://www.pdftron.com/documentation/core/info/modules/. If you have already');
102
+ console.log('downloaded this module, ensure that the SDK is able to find the required files');
103
+ console.log('using the PDFNet.addResourceSearchPath() function.\n');
104
+ }
105
+ else
106
+ {
107
+ try {
108
+ // Extract document structure as a JSON file
109
+ console.log('Extract document structure as a JSON file');
110
+
111
+ let outputFile = outputPath + 'paragraphs_and_tables.json';
112
+ await PDFNet.DataExtractionModule.extractData(inputPath + 'paragraphs_and_tables.pdf', outputFile, PDFNet.DataExtractionModule.DataExtractionEngine.e_DocStructure);
113
+
114
+ console.log('Result saved in ' + outputFile);
115
+
116
+ ///////////////////////////////////////////////////////
117
+ // Extract document structure as a JSON string
118
+ console.log('Extract document structure as a JSON string');
119
+
120
+ outputFile = outputPath + 'tagged.json';
121
+ const json = await PDFNet.DataExtractionModule.extractDataAsString(inputPath + 'tagged.pdf', PDFNet.DataExtractionModule.DataExtractionEngine.e_DocStructure);
122
+ fs.writeFileSync(outputFile, json);
123
+
124
+ console.log('Result saved in ' + outputFile);
125
+ } catch (err) {
126
+ console.log(err);
127
+ }
128
+ }
129
+
130
+ //////////////////////////////////////////////////////////////////////////
131
+ // The following sample illustrates how to extract form fields from PDF documents.
132
+ //////////////////////////////////////////////////////////////////////////
133
+
134
+ // Test if the add-on is installed
135
+ if (!await PDFNet.DataExtractionModule.isModuleAvailable(PDFNet.DataExtractionModule.DataExtractionEngine.e_Form)) {
136
+ console.log('\nUnable to run Data Extraction: PDFTron SDK AIFormFieldExtractor module not available.');
137
+ console.log('---------------------------------------------------------------');
138
+ console.log('The Data Extraction suite is an optional add-on, available for download');
139
+ console.log('at https://www.pdftron.com/documentation/core/info/modules/. If you have already');
140
+ console.log('downloaded this module, ensure that the SDK is able to find the required files');
141
+ console.log('using the PDFNet.addResourceSearchPath() function.\n');
142
+ }
143
+ else
144
+ {
145
+ try {
146
+ // Extract form fields as a JSON file
147
+ console.log('Extract form fields as a JSON file');
148
+
149
+ let outputFile = outputPath + 'formfields-scanned.json';
150
+ await PDFNet.DataExtractionModule.extractData(inputPath + 'formfields-scanned.pdf', outputFile, PDFNet.DataExtractionModule.DataExtractionEngine.e_Form);
151
+
152
+ console.log('Result saved in ' + outputFile);
153
+
154
+ ///////////////////////////////////////////////////////
155
+ // Extract form fields as a JSON string
156
+ console.log('Extract form fields as a JSON string');
157
+
158
+ outputFile = outputPath + 'formfields.json';
159
+ const json = await PDFNet.DataExtractionModule.extractDataAsString(inputPath + 'formfields.pdf', PDFNet.DataExtractionModule.DataExtractionEngine.e_Form);
160
+ fs.writeFileSync(outputFile, json);
161
+
162
+ console.log('Result saved in ' + outputFile);
163
+ } catch (err) {
164
+ console.log(err);
165
+ }
166
+ }
167
+
168
+ //////////////////////////////////////////////////////////////////////////
169
+
170
+ console.log('Done.');
171
+ };
172
+
173
+ PDFNet.runWithCleanup(main, PDFTronLicense.Key).catch(function (error) {
174
+ console.log('Error: ' + JSON.stringify(error));
175
+ }).then(function () { return PDFNet.shutdown(); });
176
+ };
177
+ exports.runDataExtractionTest();
178
+ })(exports);
179
+ // eslint-disable-next-line spaced-comment
180
+ //# sourceURL=DataExtractionTest.js