@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,87 +1,87 @@
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
- // The sample illustrates how multiple pages can be combined/imposed
8
- // using PDFNet. Page imposition can be used to arrange/order pages
9
- // prior to printing or to assemble a 'master' page from several 'source'
10
- // pages. Using PDFNet API it is possible to write applications that can
11
- // re-order the pages such that they will display in the correct order
12
- // when the hard copy pages are compiled and folded correctly.
13
- //-----------------------------------------------------------------------------------
14
-
15
- const { PDFNet } = require('@pdftron/pdfnet-node');
16
- const PDFTronLicense = require('../LicenseKey/LicenseKey');
17
-
18
- ((exports) => {
19
- 'use strict';
20
-
21
- exports.runImpositionTest = () => {
22
- const main = async () => {
23
- try {
24
- console.log('-------------------------------------------------');
25
- console.log('Opening the input pdf...');
26
- const in_doc = await PDFNet.PDFDoc.createFromFilePath('../TestFiles/newsletter.pdf');
27
- in_doc.initSecurityHandler();
28
-
29
- // Create a list of pages to import from one PDF document to another.
30
- const import_pages = [];
31
- for (let itr = await in_doc.getPageIterator(); await itr.hasNext(); await itr.next()) {
32
- import_pages.push(await itr.current());
33
- }
34
-
35
- const new_doc = await PDFNet.PDFDoc.create();
36
- const imported_pages = await new_doc.importPages(import_pages);
37
-
38
- // Paper dimension for A3 format in points. Because one inch has
39
- // 72 points, 11.69 inch 72 = 841.69 points
40
- const media_box = await PDFNet.Rect.init(0, 0, 1190.88, 841.69);
41
- const mid_point = await media_box.width() / 2;
42
- const builder = await PDFNet.ElementBuilder.create();
43
- const writer = await PDFNet.ElementWriter.create();
44
- for (let i = 0; i < imported_pages.length; ++i) {
45
- // Create a blank new A3 page and place on it two pages from the input document.
46
- const new_page = await new_doc.pageCreate(media_box);
47
- writer.beginOnPage(new_page);
48
- // Place the first page
49
- let src_page = imported_pages[i];
50
- var element = await builder.createFormFromPage(src_page);
51
-
52
- let sc_x = mid_point / await src_page.getPageWidth();
53
- let sc_y = await media_box.height() / await src_page.getPageHeight();
54
- let scale = sc_x < sc_y ? sc_x : sc_y; // min(sc_x, sc_y)
55
- await element.getGState().then(gstate => gstate.setTransform(scale, 0, 0, scale, 0, 0));
56
- writer.writePlacedElement(element);
57
-
58
- // Place the second page
59
- ++i;
60
- if (i < imported_pages.length) {
61
- src_page = imported_pages[i];
62
- element = await builder.createFormFromPage(src_page);
63
- sc_x = mid_point / await src_page.getPageWidth();
64
- sc_y = await media_box.height() / await src_page.getPageHeight();
65
- scale = sc_x < sc_y ? sc_x : sc_y; // min(sc_x, sc_y)
66
- await element.getGState().then(gstate => gstate.setTransform(scale, 0, 0, scale, mid_point, 0));
67
- writer.writePlacedElement(element);
68
- }
69
-
70
- await writer.end();
71
- new_doc.pagePushBack(new_page);
72
- }
73
- await new_doc.save('../TestFiles/Output/newsletter_booklet.pdf', PDFNet.SDFDoc.SaveOptions.e_linearized);
74
- console.log('Done. Result saved in newsletter_booklet.pdf...');
75
-
76
- } catch (err) {
77
- console.log(err);
78
- }
79
- }
80
- PDFNet.runWithCleanup(main, PDFTronLicense.Key).catch(function(error) {
81
- console.log('Error: ' + JSON.stringify(error));
82
- }).then(function(){ return PDFNet.shutdown(); });
83
- };
84
- exports.runImpositionTest();
85
- })(exports);
86
- // 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
+ // The sample illustrates how multiple pages can be combined/imposed
8
+ // using PDFNet. Page imposition can be used to arrange/order pages
9
+ // prior to printing or to assemble a 'master' page from several 'source'
10
+ // pages. Using PDFNet API it is possible to write applications that can
11
+ // re-order the pages such that they will display in the correct order
12
+ // when the hard copy pages are compiled and folded correctly.
13
+ //-----------------------------------------------------------------------------------
14
+
15
+ const { PDFNet } = require('../lib/pdfnet.js');
16
+ const PDFTronLicense = require('../LicenseKey/LicenseKey');
17
+
18
+ ((exports) => {
19
+ 'use strict';
20
+
21
+ exports.runImpositionTest = () => {
22
+ const main = async () => {
23
+ try {
24
+ console.log('-------------------------------------------------');
25
+ console.log('Opening the input pdf...');
26
+ const in_doc = await PDFNet.PDFDoc.createFromFilePath('../TestFiles/newsletter.pdf');
27
+ in_doc.initSecurityHandler();
28
+
29
+ // Create a list of pages to import from one PDF document to another.
30
+ const import_pages = [];
31
+ for (let itr = await in_doc.getPageIterator(); await itr.hasNext(); await itr.next()) {
32
+ import_pages.push(await itr.current());
33
+ }
34
+
35
+ const new_doc = await PDFNet.PDFDoc.create();
36
+ const imported_pages = await new_doc.importPages(import_pages);
37
+
38
+ // Paper dimension for A3 format in points. Because one inch has
39
+ // 72 points, 11.69 inch 72 = 841.69 points
40
+ const media_box = await PDFNet.Rect.init(0, 0, 1190.88, 841.69);
41
+ const mid_point = await media_box.width() / 2;
42
+ const builder = await PDFNet.ElementBuilder.create();
43
+ const writer = await PDFNet.ElementWriter.create();
44
+ for (let i = 0; i < imported_pages.length; ++i) {
45
+ // Create a blank new A3 page and place on it two pages from the input document.
46
+ const new_page = await new_doc.pageCreate(media_box);
47
+ writer.beginOnPage(new_page);
48
+ // Place the first page
49
+ let src_page = imported_pages[i];
50
+ var element = await builder.createFormFromPage(src_page);
51
+
52
+ let sc_x = mid_point / await src_page.getPageWidth();
53
+ let sc_y = await media_box.height() / await src_page.getPageHeight();
54
+ let scale = sc_x < sc_y ? sc_x : sc_y; // min(sc_x, sc_y)
55
+ await element.getGState().then(gstate => gstate.setTransform(scale, 0, 0, scale, 0, 0));
56
+ writer.writePlacedElement(element);
57
+
58
+ // Place the second page
59
+ ++i;
60
+ if (i < imported_pages.length) {
61
+ src_page = imported_pages[i];
62
+ element = await builder.createFormFromPage(src_page);
63
+ sc_x = mid_point / await src_page.getPageWidth();
64
+ sc_y = await media_box.height() / await src_page.getPageHeight();
65
+ scale = sc_x < sc_y ? sc_x : sc_y; // min(sc_x, sc_y)
66
+ await element.getGState().then(gstate => gstate.setTransform(scale, 0, 0, scale, mid_point, 0));
67
+ writer.writePlacedElement(element);
68
+ }
69
+
70
+ await writer.end();
71
+ new_doc.pagePushBack(new_page);
72
+ }
73
+ await new_doc.save('../TestFiles/Output/newsletter_booklet.pdf', PDFNet.SDFDoc.SaveOptions.e_linearized);
74
+ console.log('Done. Result saved in newsletter_booklet.pdf...');
75
+
76
+ } catch (err) {
77
+ console.log(err);
78
+ }
79
+ }
80
+ PDFNet.runWithCleanup(main, PDFTronLicense.Key).catch(function(error) {
81
+ console.log('Error: ' + JSON.stringify(error));
82
+ }).then(function(){ return PDFNet.shutdown(); });
83
+ };
84
+ exports.runImpositionTest();
85
+ })(exports);
86
+ // eslint-disable-next-line spaced-comment
87
87
  //# sourceURL=ImpositionTest.js