@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
@@ -1,89 +1,89 @@
1
- //---------------------------------------------------------------------------------------
2
- // Copyright (c) 2001-2022 by PDFTron Systems 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-2023 by PDFTron Systems 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('../lib/pdfnet.js');
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,5 +1,5 @@
1
1
  //---------------------------------------------------------------------------------------
2
- // Copyright (c) 2001-2022 by PDFTron Systems Inc. All Rights Reserved.
2
+ // Copyright (c) 2001-2023 by PDFTron Systems Inc. All Rights Reserved.
3
3
  // Consult legal.txt regarding legal and license information.
4
4
  //---------------------------------------------------------------------------------------
5
5
 
@@ -16,7 +16,7 @@
16
16
  //---------------------------------------------------------------------------------------
17
17
 
18
18
 
19
- const { PDFNet } = require('@pdftron/pdfnet-node');
19
+ const { PDFNet } = require('../lib/pdfnet.js');
20
20
  const PDFTronLicense = require('../LicenseKey/LicenseKey');
21
21
 
22
22
  ((exports) => {