@pdftron/pdfnet-node-samples 10.7.0 → 10.8.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 (59) hide show
  1. package/package.json +21 -20
  2. package/readme.md +12 -12
  3. package/samples/AddImageTest/AddImageTest.js +115 -115
  4. package/samples/AdvancedImagingTest/AdvancedImagingTest.js +78 -78
  5. package/samples/AnnotationTest/AnnotationTest.js +641 -641
  6. package/samples/BookmarkTest/BookmarkTest.js +219 -219
  7. package/samples/CAD2PDFTest/CAD2PDFTest.js +79 -79
  8. package/samples/ContentReplacerTest/ContentReplacerTest.js +75 -75
  9. package/samples/ConvertPrintTest/ConvertPrintTest.js +153 -153
  10. package/samples/ConvertTest/ConvertTest.js +203 -203
  11. package/samples/DataExtractionTest/DataExtractionTest.js +214 -214
  12. package/samples/DigitalSignaturesTest/DigitalSignaturesTest.js +526 -526
  13. package/samples/DocumentCreationTest/DocumentCreationTest.js +409 -409
  14. package/samples/ElementBuilderTest/ElementBuilderTest.js +513 -513
  15. package/samples/ElementEditTest/ElementEditTest.js +110 -110
  16. package/samples/ElementReaderAdvTest/ElementReaderAdvTest.js +305 -305
  17. package/samples/ElementReaderTest/ElementReaderTest.js +77 -77
  18. package/samples/EncTest/EncTest.js +175 -175
  19. package/samples/FDFTest/FDFTest.js +218 -218
  20. package/samples/HTML2PDFTest/HTML2PDFTest.js +164 -164
  21. package/samples/HighlightsTest/HighlightsTest.js +97 -97
  22. package/samples/ImageExtractTest/ImageExtractTest.js +129 -129
  23. package/samples/ImpositionTest/ImpositionTest.js +86 -86
  24. package/samples/InteractiveFormsTest/InteractiveFormsTest.js +381 -381
  25. package/samples/JBIG2Test/JBIG2Test.js +88 -88
  26. package/samples/LicenseKey/LicenseKey.js +11 -11
  27. package/samples/LogicalStructureTest/LogicalStructureTest.js +250 -250
  28. package/samples/OCRTest/OCRTest.js +235 -235
  29. package/samples/OfficeTemplateTest/OfficeTemplateTest.js +79 -79
  30. package/samples/OfficeToPDFTest/OfficeToPDFTest.js +125 -125
  31. package/samples/OptimizerTest/OptimizerTest.js +191 -191
  32. package/samples/PDF2HtmlTest/PDF2HtmlTest.js +123 -123
  33. package/samples/PDF2OfficeTest/PDF2OfficeTest.js +158 -158
  34. package/samples/PDFATest/PDFATest.js +85 -85
  35. package/samples/PDFDocMemoryTest/PDFDocMemoryTest.js +84 -84
  36. package/samples/PDFDrawTest/PDFDrawTest.js +305 -305
  37. package/samples/PDFLayersTest/PDFLayersTest.js +294 -294
  38. package/samples/PDFPackageTest/PDFPackageTest.js +111 -111
  39. package/samples/PDFPageTest/PDFPageTest.js +189 -189
  40. package/samples/PDFRedactTest/PDFRedactTest.js +74 -74
  41. package/samples/PageLabelsTest/PageLabelsTest.js +138 -138
  42. package/samples/PatternTest/PatternTest.js +226 -226
  43. package/samples/RectTest/RectTest.js +40 -40
  44. package/samples/SDFTest/SDFTest.js +87 -87
  45. package/samples/StamperTest/StamperTest.js +255 -255
  46. package/samples/TestFiles/Misc-Fixed.pfa +1166 -1166
  47. package/samples/TestFiles/SHA-2 Root USERTrust RSA CA Sectigo timestamping.crt +34 -34
  48. package/samples/TestFiles/form1_annots.xfdf +33 -33
  49. package/samples/TestFiles/form1_data.xfdf +139 -139
  50. package/samples/TestFiles/my_stream.txt +2310 -2310
  51. package/samples/TestFiles/tiger.svg +378 -378
  52. package/samples/TextExtractTest/TextExtractTest.js +286 -286
  53. package/samples/TextSearchTest/TextSearchTest.js +121 -121
  54. package/samples/U3DTest/U3DTest.js +104 -104
  55. package/samples/UndoRedoTest/UndoRedoTest.js +101 -101
  56. package/samples/UnicodeWriteTest/UnicodeWriteTest.js +173 -173
  57. package/samples/WebViewerConvertTest/WebViewerConvertTest.js +135 -135
  58. package/samples/runall.bat +12 -12
  59. package/samples/runall.sh +15 -15
@@ -1,111 +1,111 @@
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
- const { PDFNet } = require('@pdftron/pdfnet-node');
8
- const PDFTronLicense = require('../LicenseKey/LicenseKey');
9
-
10
- ((exports) => {
11
-
12
- exports.runElementEditTest = () => {
13
-
14
- async function ProcessElements(reader, writer, visited) {
15
- await PDFNet.startDeallocateStack();
16
- const colorspace = await PDFNet.ColorSpace.createDeviceRGB();
17
- const redColor = await PDFNet.ColorPt.init(1, 0, 0);
18
- const blueColor = await PDFNet.ColorPt.init(0, 0, 1);
19
-
20
- for (let element = await reader.next(); element !== null; element = await reader.next()) {
21
- const elementType = await element.getType();
22
- let gs;
23
- let formObj;
24
- let formObjNum = null;
25
- switch (elementType) {
26
- case PDFNet.Element.Type.e_image:
27
- case PDFNet.Element.Type.e_inline_image:
28
- // remove all images by skipping them
29
- break;
30
- case PDFNet.Element.Type.e_path:
31
- // Set all paths to red
32
- gs = await element.getGState();
33
- gs.setFillColorSpace(colorspace);
34
- await gs.setFillColorWithColorPt(redColor);
35
- await writer.writeElement(element);
36
- break;
37
- case PDFNet.Element.Type.e_text:
38
- // Set all text to blue
39
- gs = await element.getGState();
40
- gs.setFillColorSpace(colorspace);
41
- await gs.setFillColorWithColorPt(blueColor);
42
- await writer.writeElement(element);
43
- break;
44
- case PDFNet.Element.Type.e_form:
45
- await writer.writeElement(element);
46
- formObj = await element.getXObject();
47
- formObjNum = await formObj.getObjNum();
48
- // if XObject not yet processed
49
- if (visited.indexOf(formObjNum) === -1) {
50
- // Set Replacement
51
- const insertedObj = await formObj.getObjNum();
52
- if (!visited.includes(insertedObj)) {
53
- visited.push(insertedObj);
54
- }
55
- const newWriter = await PDFNet.ElementWriter.create();
56
- await reader.formBegin();
57
- await newWriter.beginOnObj(formObj);
58
- await ProcessElements(reader, newWriter, visited);
59
- await newWriter.end();
60
- await reader.end();
61
- }
62
- break;
63
- default:
64
- await writer.writeElement(element);
65
- }
66
- }
67
- await PDFNet.endDeallocateStack();
68
- }
69
-
70
- const main = async () => {
71
- // Relative path to the folder containing test files.
72
- const inputPath = '../TestFiles/';
73
- try {
74
- console.log('Opening the input file...');
75
- const doc = await PDFNet.PDFDoc.createFromFilePath(inputPath + 'newsletter.pdf');
76
- doc.initSecurityHandler();
77
-
78
- const writer = await PDFNet.ElementWriter.create();
79
- const reader = await PDFNet.ElementReader.create();
80
- const visited = [];
81
-
82
- const itr = await doc.getPageIterator(1);
83
-
84
- // Process each page in the document
85
- for (itr; await itr.hasNext(); itr.next()) {
86
- const page = await itr.current();
87
- const sdfObj = await page.getSDFObj();
88
- const insertedObj = await sdfObj.getObjNum();
89
- if (!visited.includes(insertedObj)) {
90
- visited.push(insertedObj);
91
- }
92
- await reader.beginOnPage(page);
93
- await writer.beginOnPage(page, PDFNet.ElementWriter.WriteMode.e_replacement, false, true, await page.getResourceDict());
94
- await ProcessElements(reader, writer, visited);
95
- await writer.end();
96
- await reader.end();
97
- }
98
-
99
- await doc.save(inputPath + 'Output/newsletter_edited.pdf', PDFNet.SDFDoc.SaveOptions.e_remove_unused);
100
- console.log('Done. Result saved in newsletter_edited.pdf...');
101
- } catch (err) {
102
- console.log(err);
103
- }
104
- };
105
-
106
- PDFNet.runWithCleanup(main, PDFTronLicense.Key).catch(function (error) { console.log('Error: ' + JSON.stringify(error)); }).then(function () { return PDFNet.shutdown(); });
107
- };
108
- exports.runElementEditTest();
109
- })(exports);
110
- // 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
+ const { PDFNet } = require('@pdftron/pdfnet-node');
8
+ const PDFTronLicense = require('../LicenseKey/LicenseKey');
9
+
10
+ ((exports) => {
11
+
12
+ exports.runElementEditTest = () => {
13
+
14
+ async function ProcessElements(reader, writer, visited) {
15
+ await PDFNet.startDeallocateStack();
16
+ const colorspace = await PDFNet.ColorSpace.createDeviceRGB();
17
+ const redColor = await PDFNet.ColorPt.init(1, 0, 0);
18
+ const blueColor = await PDFNet.ColorPt.init(0, 0, 1);
19
+
20
+ for (let element = await reader.next(); element !== null; element = await reader.next()) {
21
+ const elementType = await element.getType();
22
+ let gs;
23
+ let formObj;
24
+ let formObjNum = null;
25
+ switch (elementType) {
26
+ case PDFNet.Element.Type.e_image:
27
+ case PDFNet.Element.Type.e_inline_image:
28
+ // remove all images by skipping them
29
+ break;
30
+ case PDFNet.Element.Type.e_path:
31
+ // Set all paths to red
32
+ gs = await element.getGState();
33
+ gs.setFillColorSpace(colorspace);
34
+ await gs.setFillColorWithColorPt(redColor);
35
+ await writer.writeElement(element);
36
+ break;
37
+ case PDFNet.Element.Type.e_text:
38
+ // Set all text to blue
39
+ gs = await element.getGState();
40
+ gs.setFillColorSpace(colorspace);
41
+ await gs.setFillColorWithColorPt(blueColor);
42
+ await writer.writeElement(element);
43
+ break;
44
+ case PDFNet.Element.Type.e_form:
45
+ await writer.writeElement(element);
46
+ formObj = await element.getXObject();
47
+ formObjNum = await formObj.getObjNum();
48
+ // if XObject not yet processed
49
+ if (visited.indexOf(formObjNum) === -1) {
50
+ // Set Replacement
51
+ const insertedObj = await formObj.getObjNum();
52
+ if (!visited.includes(insertedObj)) {
53
+ visited.push(insertedObj);
54
+ }
55
+ const newWriter = await PDFNet.ElementWriter.create();
56
+ await reader.formBegin();
57
+ await newWriter.beginOnObj(formObj);
58
+ await ProcessElements(reader, newWriter, visited);
59
+ await newWriter.end();
60
+ await reader.end();
61
+ }
62
+ break;
63
+ default:
64
+ await writer.writeElement(element);
65
+ }
66
+ }
67
+ await PDFNet.endDeallocateStack();
68
+ }
69
+
70
+ const main = async () => {
71
+ // Relative path to the folder containing test files.
72
+ const inputPath = '../TestFiles/';
73
+ try {
74
+ console.log('Opening the input file...');
75
+ const doc = await PDFNet.PDFDoc.createFromFilePath(inputPath + 'newsletter.pdf');
76
+ doc.initSecurityHandler();
77
+
78
+ const writer = await PDFNet.ElementWriter.create();
79
+ const reader = await PDFNet.ElementReader.create();
80
+ const visited = [];
81
+
82
+ const itr = await doc.getPageIterator(1);
83
+
84
+ // Process each page in the document
85
+ for (itr; await itr.hasNext(); itr.next()) {
86
+ const page = await itr.current();
87
+ const sdfObj = await page.getSDFObj();
88
+ const insertedObj = await sdfObj.getObjNum();
89
+ if (!visited.includes(insertedObj)) {
90
+ visited.push(insertedObj);
91
+ }
92
+ await reader.beginOnPage(page);
93
+ await writer.beginOnPage(page, PDFNet.ElementWriter.WriteMode.e_replacement, false, true, await page.getResourceDict());
94
+ await ProcessElements(reader, writer, visited);
95
+ await writer.end();
96
+ await reader.end();
97
+ }
98
+
99
+ await doc.save(inputPath + 'Output/newsletter_edited.pdf', PDFNet.SDFDoc.SaveOptions.e_remove_unused);
100
+ console.log('Done. Result saved in newsletter_edited.pdf...');
101
+ } catch (err) {
102
+ console.log(err);
103
+ }
104
+ };
105
+
106
+ PDFNet.runWithCleanup(main, PDFTronLicense.Key).catch(function (error) { console.log('Error: ' + JSON.stringify(error)); }).then(function () { return PDFNet.shutdown(); });
107
+ };
108
+ exports.runElementEditTest();
109
+ })(exports);
110
+ // eslint-disable-next-line spaced-comment
111
111
  //# sourceURL=ElementEditTest.js