@pdftron/pdfnet-node-samples 10.9.0 → 10.10.0

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 (135) hide show
  1. package/{samples/AddImageTest → AddImageTest}/AddImageTest.js +115 -115
  2. package/{samples/AdvancedImagingTest → AdvancedImagingTest}/AdvancedImagingTest.js +78 -78
  3. package/{samples/AnnotationTest → AnnotationTest}/AnnotationTest.js +641 -641
  4. package/{samples/BookmarkTest → BookmarkTest}/BookmarkTest.js +219 -219
  5. package/{samples/CAD2PDFTest → CAD2PDFTest}/CAD2PDFTest.js +79 -79
  6. package/{samples/ContentReplacerTest → ContentReplacerTest}/ContentReplacerTest.js +75 -75
  7. package/{samples/ConvertPrintTest → ConvertPrintTest}/ConvertPrintTest.js +153 -153
  8. package/{samples/ConvertTest → ConvertTest}/ConvertTest.js +203 -203
  9. package/{samples/DataExtractionTest → DataExtractionTest}/DataExtractionTest.js +214 -214
  10. package/{samples/DigitalSignaturesTest → DigitalSignaturesTest}/DigitalSignaturesTest.js +622 -527
  11. package/{samples/DocumentCreationTest → DocumentCreationTest}/DocumentCreationTest.js +409 -409
  12. package/{samples/ElementBuilderTest → ElementBuilderTest}/ElementBuilderTest.js +513 -513
  13. package/{samples/ElementEditTest → ElementEditTest}/ElementEditTest.js +110 -110
  14. package/{samples/ElementReaderAdvTest → ElementReaderAdvTest}/ElementReaderAdvTest.js +305 -305
  15. package/{samples/ElementReaderTest → ElementReaderTest}/ElementReaderTest.js +77 -77
  16. package/{samples/EncTest → EncTest}/EncTest.js +175 -175
  17. package/{samples/FDFTest → FDFTest}/FDFTest.js +218 -218
  18. package/{samples/HTML2PDFTest → HTML2PDFTest}/HTML2PDFTest.js +164 -164
  19. package/{samples/HighlightsTest → HighlightsTest}/HighlightsTest.js +97 -97
  20. package/{samples/ImageExtractTest → ImageExtractTest}/ImageExtractTest.js +129 -129
  21. package/{samples/ImpositionTest → ImpositionTest}/ImpositionTest.js +86 -86
  22. package/{samples/InteractiveFormsTest → InteractiveFormsTest}/InteractiveFormsTest.js +381 -381
  23. package/{samples/JBIG2Test → JBIG2Test}/JBIG2Test.js +88 -88
  24. package/{samples/LicenseKey → LicenseKey}/LicenseKey.js +11 -11
  25. package/{samples/LogicalStructureTest → LogicalStructureTest}/LogicalStructureTest.js +250 -250
  26. package/{samples/OCRTest → OCRTest}/OCRTest.js +235 -235
  27. package/{samples/OfficeTemplateTest → OfficeTemplateTest}/OfficeTemplateTest.js +79 -79
  28. package/{samples/OfficeToPDFTest → OfficeToPDFTest}/OfficeToPDFTest.js +125 -125
  29. package/{samples/OptimizerTest → OptimizerTest}/OptimizerTest.js +191 -191
  30. package/{samples/PDF2HtmlTest → PDF2HtmlTest}/PDF2HtmlTest.js +123 -123
  31. package/{samples/PDF2OfficeTest → PDF2OfficeTest}/PDF2OfficeTest.js +158 -158
  32. package/{samples/PDFATest → PDFATest}/PDFATest.js +85 -85
  33. package/{samples/PDFDocMemoryTest → PDFDocMemoryTest}/PDFDocMemoryTest.js +84 -84
  34. package/{samples/PDFDrawTest → PDFDrawTest}/PDFDrawTest.js +305 -305
  35. package/{samples/PDFLayersTest → PDFLayersTest}/PDFLayersTest.js +294 -294
  36. package/{samples/PDFPackageTest → PDFPackageTest}/PDFPackageTest.js +111 -111
  37. package/{samples/PDFPageTest → PDFPageTest}/PDFPageTest.js +189 -189
  38. package/{samples/PDFRedactTest → PDFRedactTest}/PDFRedactTest.js +74 -74
  39. package/{samples/PageLabelsTest → PageLabelsTest}/PageLabelsTest.js +138 -138
  40. package/{samples/PatternTest → PatternTest}/PatternTest.js +226 -226
  41. package/{samples/RectTest → RectTest}/RectTest.js +40 -40
  42. package/{samples/SDFTest → SDFTest}/SDFTest.js +87 -87
  43. package/{samples/StamperTest → StamperTest}/StamperTest.js +255 -255
  44. package/{samples/TestFiles → TestFiles}/Misc-Fixed.pfa +1166 -1166
  45. package/{samples/TestFiles → TestFiles}/SHA-2 Root USERTrust RSA CA Sectigo timestamping.crt +34 -34
  46. package/{samples/TestFiles → TestFiles}/form1_annots.xfdf +33 -33
  47. package/{samples/TestFiles → TestFiles}/form1_data.xfdf +139 -139
  48. package/{samples/TestFiles → TestFiles}/my_stream.txt +2310 -2310
  49. package/{samples/TestFiles → TestFiles}/tiger.svg +378 -378
  50. package/{samples/TextExtractTest → TextExtractTest}/TextExtractTest.js +286 -286
  51. package/{samples/TextSearchTest → TextSearchTest}/TextSearchTest.js +121 -121
  52. package/{samples/U3DTest → U3DTest}/U3DTest.js +104 -104
  53. package/{samples/UndoRedoTest → UndoRedoTest}/UndoRedoTest.js +101 -101
  54. package/{samples/UnicodeWriteTest → UnicodeWriteTest}/UnicodeWriteTest.js +173 -173
  55. package/{samples/WebViewerConvertTest → WebViewerConvertTest}/WebViewerConvertTest.js +135 -135
  56. package/legal.txt +632 -0
  57. package/license.pdf +0 -0
  58. package/package.json +20 -21
  59. package/readme.md +38 -13
  60. package/{samples/runall.bat → runall.bat} +12 -12
  61. package/{samples/runall.sh → runall.sh} +15 -15
  62. /package/{samples/TestFiles → TestFiles}/BusinessCardTemplate.pdf +0 -0
  63. /package/{samples/TestFiles → TestFiles}/Fishermen.docx +0 -0
  64. /package/{samples/TestFiles → TestFiles}/Font_licenses.txt +0 -0
  65. /package/{samples/TestFiles → TestFiles}/GlobalSignRootForTST.cer +0 -0
  66. /package/{samples/TestFiles → TestFiles}/License.txt +0 -0
  67. /package/{samples/TestFiles → TestFiles}/NotoSans_with_hindi.ttf +0 -0
  68. /package/{samples/TestFiles → TestFiles}/Output/empty +0 -0
  69. /package/{samples/TestFiles → TestFiles}/SYH_Letter.docx +0 -0
  70. /package/{samples/TestFiles → TestFiles}/TigerText.pdf +0 -0
  71. /package/{samples/TestFiles → TestFiles}/US061222892-a.pdf +0 -0
  72. /package/{samples/TestFiles → TestFiles}/butterfly.png +0 -0
  73. /package/{samples/TestFiles → TestFiles}/credit card numbers.pdf +0 -0
  74. /package/{samples/TestFiles → TestFiles}/dice.jpg +0 -0
  75. /package/{samples/TestFiles → TestFiles}/dice.u3d +0 -0
  76. /package/{samples/TestFiles → TestFiles}/doc_to_sign.pdf +0 -0
  77. /package/{samples/TestFiles → TestFiles}/factsheet_Arabic.docx +0 -0
  78. /package/{samples/TestFiles → TestFiles}/financial.pdf +0 -0
  79. /package/{samples/TestFiles → TestFiles}/fish.pdf +0 -0
  80. /package/{samples/TestFiles → TestFiles}/font.ttf +0 -0
  81. /package/{samples/TestFiles → TestFiles}/form1.pdf +0 -0
  82. /package/{samples/TestFiles → TestFiles}/form1_data.fdf +0 -0
  83. /package/{samples/TestFiles → TestFiles}/formfields-scanned-withfields.pdf +0 -0
  84. /package/{samples/TestFiles → TestFiles}/formfields-scanned.pdf +0 -0
  85. /package/{samples/TestFiles → TestFiles}/formfields.pdf +0 -0
  86. /package/{samples/TestFiles → TestFiles}/grayscale.tif +0 -0
  87. /package/{samples/TestFiles → TestFiles}/hindi_sample_utf16le.txt +0 -0
  88. /package/{samples/TestFiles → TestFiles}/imagemask.dat +0 -0
  89. /package/{samples/TestFiles → TestFiles}/logo_red.png +0 -0
  90. /package/{samples/TestFiles → TestFiles}/lorem_ipsum.pdf +0 -0
  91. /package/{samples/TestFiles → TestFiles}/multipage.tif +0 -0
  92. /package/{samples/TestFiles → TestFiles}/newsletter.pdf +0 -0
  93. /package/{samples/TestFiles → TestFiles}/newsletter.xod +0 -0
  94. /package/{samples/TestFiles → TestFiles}/numbered.pdf +0 -0
  95. /package/{samples/TestFiles → TestFiles}/op_blend_test.pdf +0 -0
  96. /package/{samples/TestFiles → TestFiles}/palm.jp2 +0 -0
  97. /package/{samples/TestFiles → TestFiles}/paragraphs_and_tables.pdf +0 -0
  98. /package/{samples/TestFiles → TestFiles}/pdfnet.gif +0 -0
  99. /package/{samples/TestFiles → TestFiles}/pdftron.bmp +0 -0
  100. /package/{samples/TestFiles → TestFiles}/pdftron.cer +0 -0
  101. /package/{samples/TestFiles → TestFiles}/pdftron.pfx +0 -0
  102. /package/{samples/TestFiles → TestFiles}/pdftron_smart_substitution.plugin +0 -0
  103. /package/{samples/TestFiles → TestFiles}/peppers.jpg +0 -0
  104. /package/{samples/TestFiles → TestFiles}/signature.jpg +0 -0
  105. /package/{samples/TestFiles → TestFiles}/simple-emf.emf +0 -0
  106. /package/{samples/TestFiles → TestFiles}/simple-excel_2007.xlsx +0 -0
  107. /package/{samples/TestFiles → TestFiles}/simple-outlook.msg +0 -0
  108. /package/{samples/TestFiles → TestFiles}/simple-powerpoint_2007.pptx +0 -0
  109. /package/{samples/TestFiles → TestFiles}/simple-publisher.pub +0 -0
  110. /package/{samples/TestFiles → TestFiles}/simple-rtf.rtf +0 -0
  111. /package/{samples/TestFiles → TestFiles}/simple-text.txt +0 -0
  112. /package/{samples/TestFiles → TestFiles}/simple-visio.vsd +0 -0
  113. /package/{samples/TestFiles → TestFiles}/simple-webpage.html +0 -0
  114. /package/{samples/TestFiles → TestFiles}/simple-webpage.mht +0 -0
  115. /package/{samples/TestFiles → TestFiles}/simple-webpage_files/colorschememapping.xml +0 -0
  116. /package/{samples/TestFiles → TestFiles}/simple-webpage_files/filelist.xml +0 -0
  117. /package/{samples/TestFiles → TestFiles}/simple-webpage_files/image001.gif +0 -0
  118. /package/{samples/TestFiles → TestFiles}/simple-webpage_files/image002.png +0 -0
  119. /package/{samples/TestFiles → TestFiles}/simple-webpage_files/image003.jpg +0 -0
  120. /package/{samples/TestFiles → TestFiles}/simple-webpage_files/image004.emz +0 -0
  121. /package/{samples/TestFiles → TestFiles}/simple-webpage_files/image005.gif +0 -0
  122. /package/{samples/TestFiles → TestFiles}/simple-webpage_files/image006.png +0 -0
  123. /package/{samples/TestFiles → TestFiles}/simple-webpage_files/image007.gif +0 -0
  124. /package/{samples/TestFiles → TestFiles}/simple-webpage_files/oledata.mso +0 -0
  125. /package/{samples/TestFiles → TestFiles}/simple-webpage_files/themedata.thmx +0 -0
  126. /package/{samples/TestFiles → TestFiles}/simple-word_2007.docx +0 -0
  127. /package/{samples/TestFiles → TestFiles}/simple-xps.xps +0 -0
  128. /package/{samples/TestFiles → TestFiles}/table.pdf +0 -0
  129. /package/{samples/TestFiles → TestFiles}/tagged.pdf +0 -0
  130. /package/{samples/TestFiles → TestFiles}/the_rime_of_the_ancient_mariner.docx +0 -0
  131. /package/{samples/TestFiles → TestFiles}/tiger.pdf +0 -0
  132. /package/{samples/TestFiles → TestFiles}/waiver.pdf +0 -0
  133. /package/{samples/TestFiles → TestFiles}/waiver_withApprovalField.pdf +0 -0
  134. /package/{samples/TestFiles → TestFiles}/waiver_withApprovalField_certified.pdf +0 -0
  135. /package/{samples/TestFiles → TestFiles}/waiver_withApprovalField_certified_approved.pdf +0 -0
@@ -1,89 +1,89 @@
1
- //---------------------------------------------------------------------------------------
2
- // Copyright (c) 2001-2024 by Apryse Software Inc. All Rights Reserved.
3
- // Consult legal.txt regarding legal and license information.
4
- //---------------------------------------------------------------------------------------
5
-
6
-
7
- // This sample project illustrates how to recompress bi-tonal images in an
8
- // existing PDF document using JBIG2 compression. The sample is not intended
9
- // to be a generic PDF optimization tool.
10
- //
11
- // You can download the entire document using the following link:
12
- // http://www.pdftron.com/net/samplecode/data/US061222892.pdf
13
- //
14
-
15
- const { PDFNet } = require('@pdftron/pdfnet-node');
16
- const PDFTronLicense = require('../LicenseKey/LicenseKey');
17
-
18
- ((exports) => {
19
- 'use strict';
20
-
21
- exports.runJBIG2Test = () => {
22
- const main = async () => {
23
- try {
24
- const pdf_doc = await PDFNet.PDFDoc.createFromFilePath('../TestFiles/US061222892-a.pdf');
25
- pdf_doc.initSecurityHandler();
26
-
27
- const cos_doc = await pdf_doc.getSDFDoc();
28
- const num_objs = await cos_doc.xRefSize();
29
- for (let i = 1; i < num_objs; ++i) {
30
- const obj = await cos_doc.getObj(i);
31
- if (obj && !(await obj.isFree()) && await obj.isStream()) {
32
- // Process only images
33
- let itr = await obj.find('Subtype');
34
- if (!(await itr.hasNext()) || await (await itr.value()).getName() !== 'Image')
35
- continue;
36
- const input_image = await PDFNet.Image.createFromObj(obj);
37
- // Process only gray-scale images
38
- if (await input_image.getComponentNum() != 1)
39
- continue;
40
- if (await input_image.getBitsPerComponent() != 1) // Recompress only 1 BPC images
41
- continue;
42
-
43
- // Skip images that are already compressed using JBIG2
44
- itr = await obj.find('Filter');
45
- if (await itr.hasNext()) {
46
- const value = await itr.value();
47
- if (await value.isName() && await value.getName() === 'JBIG2Decode') continue;
48
- }
49
-
50
- const filter = await obj.getDecodedStream();
51
- const reader = await PDFNet.FilterReader.create(filter);
52
-
53
- const hint_set = await PDFNet.ObjSet.create();
54
- const hint = await hint_set.createArray();
55
-
56
- hint.pushBackName('JBIG2');
57
- hint.pushBackName('Lossless');
58
-
59
- const new_image = await PDFNet.Image.createFromStream(cos_doc, reader, await input_image.getImageWidth(),
60
- await input_image.getImageHeight(), 1, await PDFNet.ColorSpace.createDeviceGray(), hint);
61
-
62
- const new_img_obj = await new_image.getSDFObj();
63
- itr = await obj.find('Decode');
64
- if (await itr.hasNext())
65
- new_img_obj.put('Decode', await itr.value());
66
- itr = await obj.find('ImageMask');
67
- if (await itr.hasNext())
68
- new_img_obj.put('ImageMask', await itr.value());
69
- itr = await obj.find('Mask');
70
- if (await itr.hasNext())
71
- new_img_obj.put('Mask', await itr.value());
72
-
73
- await cos_doc.swap(i, await new_img_obj.getObjNum());
74
- }
75
- }
76
-
77
- pdf_doc.save('../TestFiles/Output/US061222892_JBIG2.pdf', PDFNet.SDFDoc.SaveOptions.e_remove_unused);
78
- } catch (err) {
79
- console.log(err);
80
- }
81
- };
82
- PDFNet.runWithCleanup(main, PDFTronLicense.Key).catch(function(error) {
83
- console.log('Error: ' + JSON.stringify(error));
84
- }).then(function(){ return PDFNet.shutdown(); });
85
- };
86
- exports.runJBIG2Test();
87
- })(exports);
88
- // eslint-disable-next-line spaced-comment
1
+ //---------------------------------------------------------------------------------------
2
+ // Copyright (c) 2001-2024 by Apryse Software Inc. All Rights Reserved.
3
+ // Consult legal.txt regarding legal and license information.
4
+ //---------------------------------------------------------------------------------------
5
+
6
+
7
+ // This sample project illustrates how to recompress bi-tonal images in an
8
+ // existing PDF document using JBIG2 compression. The sample is not intended
9
+ // to be a generic PDF optimization tool.
10
+ //
11
+ // You can download the entire document using the following link:
12
+ // http://www.pdftron.com/net/samplecode/data/US061222892.pdf
13
+ //
14
+
15
+ const { PDFNet } = require('@pdftron/pdfnet-node');
16
+ const PDFTronLicense = require('../LicenseKey/LicenseKey');
17
+
18
+ ((exports) => {
19
+ 'use strict';
20
+
21
+ exports.runJBIG2Test = () => {
22
+ const main = async () => {
23
+ try {
24
+ const pdf_doc = await PDFNet.PDFDoc.createFromFilePath('../TestFiles/US061222892-a.pdf');
25
+ pdf_doc.initSecurityHandler();
26
+
27
+ const cos_doc = await pdf_doc.getSDFDoc();
28
+ const num_objs = await cos_doc.xRefSize();
29
+ for (let i = 1; i < num_objs; ++i) {
30
+ const obj = await cos_doc.getObj(i);
31
+ if (obj && !(await obj.isFree()) && await obj.isStream()) {
32
+ // Process only images
33
+ let itr = await obj.find('Subtype');
34
+ if (!(await itr.hasNext()) || await (await itr.value()).getName() !== 'Image')
35
+ continue;
36
+ const input_image = await PDFNet.Image.createFromObj(obj);
37
+ // Process only gray-scale images
38
+ if (await input_image.getComponentNum() != 1)
39
+ continue;
40
+ if (await input_image.getBitsPerComponent() != 1) // Recompress only 1 BPC images
41
+ continue;
42
+
43
+ // Skip images that are already compressed using JBIG2
44
+ itr = await obj.find('Filter');
45
+ if (await itr.hasNext()) {
46
+ const value = await itr.value();
47
+ if (await value.isName() && await value.getName() === 'JBIG2Decode') continue;
48
+ }
49
+
50
+ const filter = await obj.getDecodedStream();
51
+ const reader = await PDFNet.FilterReader.create(filter);
52
+
53
+ const hint_set = await PDFNet.ObjSet.create();
54
+ const hint = await hint_set.createArray();
55
+
56
+ hint.pushBackName('JBIG2');
57
+ hint.pushBackName('Lossless');
58
+
59
+ const new_image = await PDFNet.Image.createFromStream(cos_doc, reader, await input_image.getImageWidth(),
60
+ await input_image.getImageHeight(), 1, await PDFNet.ColorSpace.createDeviceGray(), hint);
61
+
62
+ const new_img_obj = await new_image.getSDFObj();
63
+ itr = await obj.find('Decode');
64
+ if (await itr.hasNext())
65
+ new_img_obj.put('Decode', await itr.value());
66
+ itr = await obj.find('ImageMask');
67
+ if (await itr.hasNext())
68
+ new_img_obj.put('ImageMask', await itr.value());
69
+ itr = await obj.find('Mask');
70
+ if (await itr.hasNext())
71
+ new_img_obj.put('Mask', await itr.value());
72
+
73
+ await cos_doc.swap(i, await new_img_obj.getObjNum());
74
+ }
75
+ }
76
+
77
+ pdf_doc.save('../TestFiles/Output/US061222892_JBIG2.pdf', PDFNet.SDFDoc.SaveOptions.e_remove_unused);
78
+ } catch (err) {
79
+ console.log(err);
80
+ }
81
+ };
82
+ PDFNet.runWithCleanup(main, PDFTronLicense.Key).catch(function(error) {
83
+ console.log('Error: ' + JSON.stringify(error));
84
+ }).then(function(){ return PDFNet.shutdown(); });
85
+ };
86
+ exports.runJBIG2Test();
87
+ })(exports);
88
+ // eslint-disable-next-line spaced-comment
89
89
  //# sourceURL=JBIG2Test.js
@@ -1,11 +1,11 @@
1
- //---------------------------------------------------------------------------------------
2
- // Copyright (c) 2001-2023 by Apryse Software Inc. All Rights Reserved.
3
- // Consult legal.txt regarding legal and license information.
4
- //---------------------------------------------------------------------------------------
5
-
6
- //"Enter your key here. If you don't have it, please go to https://www.pdftron.com/pws/get-key to obtain a demo license or https://www.pdftron.com/form/contact-sales to obtain a production key.
7
- const LicenseKey = 'YOUR_PDFTRON_LICENSE_KEY';
8
- if(LicenseKey == 'YOUR_PDFTRON_LICENSE_KEY'){
9
- throw ('Please enter your license key by replacing \'YOUR_PDFTRON_LICENSE_KEY\' that is assigned to the LicenseKey variable in Samples/LicenseKey/LicenseKey.js. If you do not have a license key, please go to https://www.pdftron.com/pws/get-key to obtain a demo license or https://www.pdftron.com/form/contact-sales to obtain a production key.');
10
- }
11
- exports.Key = LicenseKey;
1
+ //---------------------------------------------------------------------------------------
2
+ // Copyright (c) 2001-2024 by Apryse Software Inc. All Rights Reserved.
3
+ // Consult legal.txt regarding legal and license information.
4
+ //---------------------------------------------------------------------------------------
5
+
6
+ //"Enter your key here. If you don't have it, please go to https://www.pdftron.com/pws/get-key to obtain a demo license or https://www.pdftron.com/form/contact-sales to obtain a production key.
7
+ const LicenseKey = 'YOUR_PDFTRON_LICENSE_KEY';
8
+ if(LicenseKey == 'YOUR_PDFTRON_LICENSE_KEY'){
9
+ throw ('Please enter your license key by replacing \'YOUR_PDFTRON_LICENSE_KEY\' that is assigned to the LicenseKey variable in Samples/LicenseKey/LicenseKey.js. If you do not have a license key, please go to https://www.pdftron.com/pws/get-key to obtain a demo license or https://www.pdftron.com/form/contact-sales to obtain a production key.');
10
+ }
11
+ exports.Key = LicenseKey;