@pdftron/pdfnet-node-samples 10.8.0-beta → 10.9.0-1-beta
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.
- package/{samples/AddImageTest → AddImageTest}/AddImageTest.js +115 -115
- package/{samples/AdvancedImagingTest → AdvancedImagingTest}/AdvancedImagingTest.js +78 -78
- package/{samples/AnnotationTest → AnnotationTest}/AnnotationTest.js +641 -641
- package/{samples/BookmarkTest → BookmarkTest}/BookmarkTest.js +219 -219
- package/{samples/CAD2PDFTest → CAD2PDFTest}/CAD2PDFTest.js +79 -79
- package/{samples/ContentReplacerTest → ContentReplacerTest}/ContentReplacerTest.js +75 -75
- package/{samples/ConvertPrintTest → ConvertPrintTest}/ConvertPrintTest.js +153 -153
- package/{samples/ConvertTest → ConvertTest}/ConvertTest.js +203 -203
- package/{samples/DataExtractionTest → DataExtractionTest}/DataExtractionTest.js +214 -214
- package/{samples/DigitalSignaturesTest → DigitalSignaturesTest}/DigitalSignaturesTest.js +621 -526
- package/{samples/DocumentCreationTest → DocumentCreationTest}/DocumentCreationTest.js +409 -409
- package/{samples/ElementBuilderTest → ElementBuilderTest}/ElementBuilderTest.js +513 -513
- package/{samples/ElementEditTest → ElementEditTest}/ElementEditTest.js +110 -110
- package/{samples/ElementReaderAdvTest → ElementReaderAdvTest}/ElementReaderAdvTest.js +305 -305
- package/{samples/ElementReaderTest → ElementReaderTest}/ElementReaderTest.js +77 -77
- package/{samples/EncTest → EncTest}/EncTest.js +175 -175
- package/{samples/FDFTest → FDFTest}/FDFTest.js +218 -218
- package/{samples/HTML2PDFTest → HTML2PDFTest}/HTML2PDFTest.js +164 -164
- package/{samples/HighlightsTest → HighlightsTest}/HighlightsTest.js +97 -97
- package/{samples/ImageExtractTest → ImageExtractTest}/ImageExtractTest.js +129 -129
- package/{samples/ImpositionTest → ImpositionTest}/ImpositionTest.js +86 -86
- package/{samples/InteractiveFormsTest → InteractiveFormsTest}/InteractiveFormsTest.js +381 -381
- package/{samples/JBIG2Test → JBIG2Test}/JBIG2Test.js +88 -88
- package/{samples/LicenseKey → LicenseKey}/LicenseKey.js +11 -11
- package/{samples/LogicalStructureTest → LogicalStructureTest}/LogicalStructureTest.js +250 -250
- package/{samples/OCRTest → OCRTest}/OCRTest.js +235 -235
- package/{samples/OfficeTemplateTest → OfficeTemplateTest}/OfficeTemplateTest.js +79 -79
- package/{samples/OfficeToPDFTest → OfficeToPDFTest}/OfficeToPDFTest.js +125 -125
- package/{samples/OptimizerTest → OptimizerTest}/OptimizerTest.js +191 -191
- package/{samples/PDF2HtmlTest → PDF2HtmlTest}/PDF2HtmlTest.js +123 -123
- package/{samples/PDF2OfficeTest → PDF2OfficeTest}/PDF2OfficeTest.js +158 -158
- package/{samples/PDFATest → PDFATest}/PDFATest.js +85 -85
- package/{samples/PDFDocMemoryTest → PDFDocMemoryTest}/PDFDocMemoryTest.js +84 -84
- package/{samples/PDFDrawTest → PDFDrawTest}/PDFDrawTest.js +305 -305
- package/{samples/PDFLayersTest → PDFLayersTest}/PDFLayersTest.js +294 -294
- package/{samples/PDFPackageTest → PDFPackageTest}/PDFPackageTest.js +111 -111
- package/{samples/PDFPageTest → PDFPageTest}/PDFPageTest.js +189 -189
- package/{samples/PDFRedactTest → PDFRedactTest}/PDFRedactTest.js +74 -74
- package/{samples/PageLabelsTest → PageLabelsTest}/PageLabelsTest.js +138 -138
- package/{samples/PatternTest → PatternTest}/PatternTest.js +226 -226
- package/{samples/RectTest → RectTest}/RectTest.js +40 -40
- package/{samples/SDFTest → SDFTest}/SDFTest.js +87 -87
- package/{samples/StamperTest → StamperTest}/StamperTest.js +255 -255
- package/{samples/TestFiles → TestFiles}/Misc-Fixed.pfa +1166 -1166
- package/{samples/TestFiles → TestFiles}/SHA-2 Root USERTrust RSA CA Sectigo timestamping.crt +34 -34
- package/{samples/TestFiles → TestFiles}/form1_annots.xfdf +33 -33
- package/{samples/TestFiles → TestFiles}/form1_data.xfdf +139 -139
- package/{samples/TestFiles → TestFiles}/my_stream.txt +2310 -2310
- package/{samples/TestFiles → TestFiles}/tiger.svg +378 -378
- package/{samples/TextExtractTest → TextExtractTest}/TextExtractTest.js +286 -286
- package/{samples/TextSearchTest → TextSearchTest}/TextSearchTest.js +121 -121
- package/{samples/U3DTest → U3DTest}/U3DTest.js +104 -104
- package/{samples/UndoRedoTest → UndoRedoTest}/UndoRedoTest.js +101 -101
- package/{samples/UnicodeWriteTest → UnicodeWriteTest}/UnicodeWriteTest.js +173 -173
- package/{samples/WebViewerConvertTest → WebViewerConvertTest}/WebViewerConvertTest.js +135 -135
- package/legal.txt +632 -0
- package/license.pdf +0 -0
- package/package.json +20 -20
- package/readme.md +38 -13
- package/{samples/runall.bat → runall.bat} +12 -12
- package/{samples/runall.sh → runall.sh} +15 -15
- /package/{samples/TestFiles → TestFiles}/BusinessCardTemplate.pdf +0 -0
- /package/{samples/TestFiles → TestFiles}/Fishermen.docx +0 -0
- /package/{samples/TestFiles → TestFiles}/Font_licenses.txt +0 -0
- /package/{samples/TestFiles → TestFiles}/GlobalSignRootForTST.cer +0 -0
- /package/{samples/TestFiles → TestFiles}/License.txt +0 -0
- /package/{samples/TestFiles → TestFiles}/NotoSans_with_hindi.ttf +0 -0
- /package/{samples/TestFiles → TestFiles}/Output/empty +0 -0
- /package/{samples/TestFiles → TestFiles}/SYH_Letter.docx +0 -0
- /package/{samples/TestFiles → TestFiles}/TigerText.pdf +0 -0
- /package/{samples/TestFiles → TestFiles}/US061222892-a.pdf +0 -0
- /package/{samples/TestFiles → TestFiles}/butterfly.png +0 -0
- /package/{samples/TestFiles → TestFiles}/credit card numbers.pdf +0 -0
- /package/{samples/TestFiles → TestFiles}/dice.jpg +0 -0
- /package/{samples/TestFiles → TestFiles}/dice.u3d +0 -0
- /package/{samples/TestFiles → TestFiles}/doc_to_sign.pdf +0 -0
- /package/{samples/TestFiles → TestFiles}/factsheet_Arabic.docx +0 -0
- /package/{samples/TestFiles → TestFiles}/financial.pdf +0 -0
- /package/{samples/TestFiles → TestFiles}/fish.pdf +0 -0
- /package/{samples/TestFiles → TestFiles}/font.ttf +0 -0
- /package/{samples/TestFiles → TestFiles}/form1.pdf +0 -0
- /package/{samples/TestFiles → TestFiles}/form1_data.fdf +0 -0
- /package/{samples/TestFiles → TestFiles}/formfields-scanned-withfields.pdf +0 -0
- /package/{samples/TestFiles → TestFiles}/formfields-scanned.pdf +0 -0
- /package/{samples/TestFiles → TestFiles}/formfields.pdf +0 -0
- /package/{samples/TestFiles → TestFiles}/grayscale.tif +0 -0
- /package/{samples/TestFiles → TestFiles}/hindi_sample_utf16le.txt +0 -0
- /package/{samples/TestFiles → TestFiles}/imagemask.dat +0 -0
- /package/{samples/TestFiles → TestFiles}/logo_red.png +0 -0
- /package/{samples/TestFiles → TestFiles}/lorem_ipsum.pdf +0 -0
- /package/{samples/TestFiles → TestFiles}/multipage.tif +0 -0
- /package/{samples/TestFiles → TestFiles}/newsletter.pdf +0 -0
- /package/{samples/TestFiles → TestFiles}/newsletter.xod +0 -0
- /package/{samples/TestFiles → TestFiles}/numbered.pdf +0 -0
- /package/{samples/TestFiles → TestFiles}/op_blend_test.pdf +0 -0
- /package/{samples/TestFiles → TestFiles}/palm.jp2 +0 -0
- /package/{samples/TestFiles → TestFiles}/paragraphs_and_tables.pdf +0 -0
- /package/{samples/TestFiles → TestFiles}/pdfnet.gif +0 -0
- /package/{samples/TestFiles → TestFiles}/pdftron.bmp +0 -0
- /package/{samples/TestFiles → TestFiles}/pdftron.cer +0 -0
- /package/{samples/TestFiles → TestFiles}/pdftron.pfx +0 -0
- /package/{samples/TestFiles → TestFiles}/pdftron_smart_substitution.plugin +0 -0
- /package/{samples/TestFiles → TestFiles}/peppers.jpg +0 -0
- /package/{samples/TestFiles → TestFiles}/signature.jpg +0 -0
- /package/{samples/TestFiles → TestFiles}/simple-emf.emf +0 -0
- /package/{samples/TestFiles → TestFiles}/simple-excel_2007.xlsx +0 -0
- /package/{samples/TestFiles → TestFiles}/simple-outlook.msg +0 -0
- /package/{samples/TestFiles → TestFiles}/simple-powerpoint_2007.pptx +0 -0
- /package/{samples/TestFiles → TestFiles}/simple-publisher.pub +0 -0
- /package/{samples/TestFiles → TestFiles}/simple-rtf.rtf +0 -0
- /package/{samples/TestFiles → TestFiles}/simple-text.txt +0 -0
- /package/{samples/TestFiles → TestFiles}/simple-visio.vsd +0 -0
- /package/{samples/TestFiles → TestFiles}/simple-webpage.html +0 -0
- /package/{samples/TestFiles → TestFiles}/simple-webpage.mht +0 -0
- /package/{samples/TestFiles → TestFiles}/simple-webpage_files/colorschememapping.xml +0 -0
- /package/{samples/TestFiles → TestFiles}/simple-webpage_files/filelist.xml +0 -0
- /package/{samples/TestFiles → TestFiles}/simple-webpage_files/image001.gif +0 -0
- /package/{samples/TestFiles → TestFiles}/simple-webpage_files/image002.png +0 -0
- /package/{samples/TestFiles → TestFiles}/simple-webpage_files/image003.jpg +0 -0
- /package/{samples/TestFiles → TestFiles}/simple-webpage_files/image004.emz +0 -0
- /package/{samples/TestFiles → TestFiles}/simple-webpage_files/image005.gif +0 -0
- /package/{samples/TestFiles → TestFiles}/simple-webpage_files/image006.png +0 -0
- /package/{samples/TestFiles → TestFiles}/simple-webpage_files/image007.gif +0 -0
- /package/{samples/TestFiles → TestFiles}/simple-webpage_files/oledata.mso +0 -0
- /package/{samples/TestFiles → TestFiles}/simple-webpage_files/themedata.thmx +0 -0
- /package/{samples/TestFiles → TestFiles}/simple-word_2007.docx +0 -0
- /package/{samples/TestFiles → TestFiles}/simple-xps.xps +0 -0
- /package/{samples/TestFiles → TestFiles}/table.pdf +0 -0
- /package/{samples/TestFiles → TestFiles}/tagged.pdf +0 -0
- /package/{samples/TestFiles → TestFiles}/the_rime_of_the_ancient_mariner.docx +0 -0
- /package/{samples/TestFiles → TestFiles}/tiger.pdf +0 -0
- /package/{samples/TestFiles → TestFiles}/waiver.pdf +0 -0
- /package/{samples/TestFiles → TestFiles}/waiver_withApprovalField.pdf +0 -0
- /package/{samples/TestFiles → TestFiles}/waiver_withApprovalField_certified.pdf +0 -0
- /package/{samples/TestFiles → TestFiles}/waiver_withApprovalField_certified_approved.pdf +0 -0
|
@@ -1,203 +1,203 @@
|
|
|
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
|
-
// The following sample illustrates how to use the PDF::Convert utility class to convert
|
|
8
|
-
// documents and files to PDF, XPS, or SVG, or EMF. The sample also shows how to convert MS Office files
|
|
9
|
-
// using our built in conversion.
|
|
10
|
-
//
|
|
11
|
-
// Certain file formats such as XPS, EMF, PDF, and raster image formats can be directly
|
|
12
|
-
// converted to PDF or XPS.
|
|
13
|
-
//
|
|
14
|
-
// Please contact us if you have any questions.
|
|
15
|
-
//---------------------------------------------------------------------------------------
|
|
16
|
-
|
|
17
|
-
const { PDFNet } = require('@pdftron/pdfnet-node');
|
|
18
|
-
const PDFTronLicense = require('../LicenseKey/LicenseKey');
|
|
19
|
-
|
|
20
|
-
((exports) => {
|
|
21
|
-
'use strict';
|
|
22
|
-
|
|
23
|
-
let Testfile = function (inputFile, outputFile) {
|
|
24
|
-
this.inputFile = inputFile;
|
|
25
|
-
this.outputFile = outputFile;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const testfiles = [
|
|
29
|
-
new Testfile('simple-word_2007.docx', 'docx2pdf.pdf'),
|
|
30
|
-
new Testfile('simple-powerpoint_2007.pptx', 'pptx2pdf.pdf'),
|
|
31
|
-
new Testfile('simple-excel_2007.xlsx', 'xlsx2pdf.pdf'),
|
|
32
|
-
new Testfile('simple-text.txt', 'txt2pdf.pdf'),
|
|
33
|
-
new Testfile('butterfly.png', 'png2pdf.pdf'),
|
|
34
|
-
new Testfile('simple-xps.xps', 'xps2pdf.pdf'),
|
|
35
|
-
]
|
|
36
|
-
|
|
37
|
-
const inputPath = '../TestFiles/';
|
|
38
|
-
const outputPath = '../TestFiles/Output/';
|
|
39
|
-
|
|
40
|
-
exports.runConvertTest = () => {
|
|
41
|
-
|
|
42
|
-
const main = async () => {
|
|
43
|
-
try {
|
|
44
|
-
await convertToPdfFromFile();
|
|
45
|
-
console.log('ConvertFile succeeded');
|
|
46
|
-
} catch (err) {
|
|
47
|
-
console.log('ConvertFile failed');
|
|
48
|
-
console.log(err);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
try {
|
|
52
|
-
await convertSpecificFormats();
|
|
53
|
-
console.log('ConvertSpecificFormats succeeded');
|
|
54
|
-
} catch (err) {
|
|
55
|
-
console.log('ConvertSpecificFormats failed');
|
|
56
|
-
console.log(err);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
console.log('Done.');
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
const convertToPdfFromFile = async () => {
|
|
63
|
-
|
|
64
|
-
for (const testfile of testfiles) {
|
|
65
|
-
|
|
66
|
-
try {
|
|
67
|
-
const pdfdoc = await PDFNet.PDFDoc.create();
|
|
68
|
-
await pdfdoc.initSecurityHandler();
|
|
69
|
-
const inputFile = inputPath + testfile.inputFile;
|
|
70
|
-
const outputFile = outputPath + testfile.outputFile;
|
|
71
|
-
await PDFNet.Convert.printerSetMode(PDFNet.Convert.PrinterMode.e_prefer_builtin_converter);
|
|
72
|
-
await PDFNet.Convert.toPdf(pdfdoc, inputFile);
|
|
73
|
-
await pdfdoc.save(outputFile, PDFNet.SDFDoc.SaveOptions.e_linearized);
|
|
74
|
-
console.log('Converted file: ' + testfile.inputFile + '\nto: ' + testfile.outputFile);
|
|
75
|
-
} catch (err) {
|
|
76
|
-
console.log('Unable to convert file ' + testfile.inputFile);
|
|
77
|
-
console.log(err);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
const convertSpecificFormats = async () => {
|
|
83
|
-
try {
|
|
84
|
-
const pdfdoc = await PDFNet.PDFDoc.create();
|
|
85
|
-
await pdfdoc.initSecurityHandler();
|
|
86
|
-
|
|
87
|
-
console.log('Converting from XPS');
|
|
88
|
-
await PDFNet.Convert.fromXps(pdfdoc, inputPath + 'simple-xps.xps');
|
|
89
|
-
await pdfdoc.save(outputPath + 'xps2pdf v2.pdf', PDFNet.SDFDoc.SaveOptions.e_linearized);
|
|
90
|
-
console.log('Saved xps2pdf v2.pdf');
|
|
91
|
-
} catch (err) {
|
|
92
|
-
console.log(err);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
try {
|
|
97
|
-
const pdfdoc = await PDFNet.PDFDoc.create();
|
|
98
|
-
await pdfdoc.initSecurityHandler();
|
|
99
|
-
|
|
100
|
-
// Add a dictionary
|
|
101
|
-
const set = await PDFNet.ObjSet.create();
|
|
102
|
-
const options = await set.createDict();
|
|
103
|
-
|
|
104
|
-
// Put options
|
|
105
|
-
options.putNumber('FontSize', 15);
|
|
106
|
-
options.putBool('UseSourceCodeFormatting', true);
|
|
107
|
-
options.putNumber('PageWidth', 12);
|
|
108
|
-
await options.putNumber('PageHeight', 6);
|
|
109
|
-
|
|
110
|
-
// Convert from .txt file
|
|
111
|
-
console.log('Converting from txt');
|
|
112
|
-
await PDFNet.Convert.fromText(pdfdoc, inputPath + 'simple-text.txt', options);
|
|
113
|
-
await pdfdoc.save(outputPath + 'simple-text.pdf', PDFNet.SDFDoc.SaveOptions.e_remove_unused);
|
|
114
|
-
console.log('Saved simple-text.pdf');
|
|
115
|
-
} catch (err) {
|
|
116
|
-
console.log(err);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
try {
|
|
120
|
-
const pdfdoc = await PDFNet.PDFDoc.createFromFilePath(inputPath + 'newsletter.pdf');
|
|
121
|
-
await pdfdoc.initSecurityHandler();
|
|
122
|
-
|
|
123
|
-
// Convert PDF document to SVG
|
|
124
|
-
console.log('Converting pdfdoc to SVG');
|
|
125
|
-
await PDFNet.Convert.docToSvg(pdfdoc, outputPath + 'pdf2svg v2.svg');
|
|
126
|
-
console.log('Saved pdf2svg v2.svg');
|
|
127
|
-
} catch (err) {
|
|
128
|
-
console.log(err);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
try {
|
|
132
|
-
// Convert PNG image to XPS
|
|
133
|
-
console.log('Converting PNG to XPS');
|
|
134
|
-
await PDFNet.Convert.fileToXps(inputPath + 'butterfly.png', outputPath + 'butterfly.xps');
|
|
135
|
-
console.log('Saved butterfly.xps');
|
|
136
|
-
} catch (err) {
|
|
137
|
-
console.log(err);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
try {
|
|
142
|
-
// Convert PDF document to XPS
|
|
143
|
-
console.log('Converting PDF to XPS');
|
|
144
|
-
await PDFNet.Convert.fileToXps(inputPath + 'newsletter.pdf', outputPath + 'newsletter.xps');
|
|
145
|
-
console.log('Saved newsletter.xps');
|
|
146
|
-
} catch (err) {
|
|
147
|
-
console.log(err);
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
try {
|
|
151
|
-
// Convert PDF document to HTML
|
|
152
|
-
console.log('Converting PDF to HTML');
|
|
153
|
-
await PDFNet.Convert.fileToHtml(inputPath + 'newsletter.pdf', outputPath + 'newsletter');
|
|
154
|
-
console.log('Saved newsletter as HTML');
|
|
155
|
-
} catch (err) {
|
|
156
|
-
console.log(err);
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
try {
|
|
160
|
-
// Convert PDF document to EPUB
|
|
161
|
-
console.log('Converting PDF to EPUB');
|
|
162
|
-
await PDFNet.Convert.fileToEpub(inputPath + 'newsletter.pdf', outputPath + 'newsletter.epub');
|
|
163
|
-
console.log('Saved newsletter.epub');
|
|
164
|
-
} catch (err) {
|
|
165
|
-
console.log(err);
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
try {
|
|
169
|
-
// Convert PDF document to multipage TIFF
|
|
170
|
-
console.log('Converting PDF to multipage TIFF');
|
|
171
|
-
const tiff_options = new PDFNet.Convert.TiffOutputOptions();
|
|
172
|
-
tiff_options.setDPI(200);
|
|
173
|
-
tiff_options.setDither(true);
|
|
174
|
-
tiff_options.setMono(true);
|
|
175
|
-
|
|
176
|
-
await PDFNet.Convert.fileToTiff(inputPath + 'newsletter.pdf', outputPath + 'newsletter.tiff', tiff_options);
|
|
177
|
-
console.log('Saved newsletter.tiff');
|
|
178
|
-
} catch (err) {
|
|
179
|
-
console.log(err);
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
try {
|
|
183
|
-
const pdfdoc = await PDFNet.PDFDoc.create();
|
|
184
|
-
await pdfdoc.initSecurityHandler();
|
|
185
|
-
|
|
186
|
-
// Convert SVG file to PDF
|
|
187
|
-
console.log('Converting SVG to PDF');
|
|
188
|
-
await PDFNet.Convert.fromSVG(pdfdoc, inputPath + 'tiger.svg');
|
|
189
|
-
await pdfdoc.save(outputPath + 'svg2pdf.pdf', PDFNet.SDFDoc.SaveOptions.e_remove_unused);
|
|
190
|
-
|
|
191
|
-
console.log('Saved svg2pdf.pdf');
|
|
192
|
-
} catch (err) {
|
|
193
|
-
console.log(err);
|
|
194
|
-
}
|
|
195
|
-
};
|
|
196
|
-
PDFNet.runWithCleanup(main, PDFTronLicense.Key).catch(function(error) {
|
|
197
|
-
console.log('Error: ' + JSON.stringify(error));
|
|
198
|
-
}).then(function(){ return PDFNet.shutdown(); });
|
|
199
|
-
};
|
|
200
|
-
exports.runConvertTest();
|
|
201
|
-
})(exports);
|
|
202
|
-
// eslint-disable-next-line spaced-comment
|
|
203
|
-
//# sourceURL=ConvertTest.js
|
|
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
|
+
// The following sample illustrates how to use the PDF::Convert utility class to convert
|
|
8
|
+
// documents and files to PDF, XPS, or SVG, or EMF. The sample also shows how to convert MS Office files
|
|
9
|
+
// using our built in conversion.
|
|
10
|
+
//
|
|
11
|
+
// Certain file formats such as XPS, EMF, PDF, and raster image formats can be directly
|
|
12
|
+
// converted to PDF or XPS.
|
|
13
|
+
//
|
|
14
|
+
// Please contact us if you have any questions.
|
|
15
|
+
//---------------------------------------------------------------------------------------
|
|
16
|
+
|
|
17
|
+
const { PDFNet } = require('@pdftron/pdfnet-node');
|
|
18
|
+
const PDFTronLicense = require('../LicenseKey/LicenseKey');
|
|
19
|
+
|
|
20
|
+
((exports) => {
|
|
21
|
+
'use strict';
|
|
22
|
+
|
|
23
|
+
let Testfile = function (inputFile, outputFile) {
|
|
24
|
+
this.inputFile = inputFile;
|
|
25
|
+
this.outputFile = outputFile;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const testfiles = [
|
|
29
|
+
new Testfile('simple-word_2007.docx', 'docx2pdf.pdf'),
|
|
30
|
+
new Testfile('simple-powerpoint_2007.pptx', 'pptx2pdf.pdf'),
|
|
31
|
+
new Testfile('simple-excel_2007.xlsx', 'xlsx2pdf.pdf'),
|
|
32
|
+
new Testfile('simple-text.txt', 'txt2pdf.pdf'),
|
|
33
|
+
new Testfile('butterfly.png', 'png2pdf.pdf'),
|
|
34
|
+
new Testfile('simple-xps.xps', 'xps2pdf.pdf'),
|
|
35
|
+
]
|
|
36
|
+
|
|
37
|
+
const inputPath = '../TestFiles/';
|
|
38
|
+
const outputPath = '../TestFiles/Output/';
|
|
39
|
+
|
|
40
|
+
exports.runConvertTest = () => {
|
|
41
|
+
|
|
42
|
+
const main = async () => {
|
|
43
|
+
try {
|
|
44
|
+
await convertToPdfFromFile();
|
|
45
|
+
console.log('ConvertFile succeeded');
|
|
46
|
+
} catch (err) {
|
|
47
|
+
console.log('ConvertFile failed');
|
|
48
|
+
console.log(err);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
try {
|
|
52
|
+
await convertSpecificFormats();
|
|
53
|
+
console.log('ConvertSpecificFormats succeeded');
|
|
54
|
+
} catch (err) {
|
|
55
|
+
console.log('ConvertSpecificFormats failed');
|
|
56
|
+
console.log(err);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
console.log('Done.');
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
const convertToPdfFromFile = async () => {
|
|
63
|
+
|
|
64
|
+
for (const testfile of testfiles) {
|
|
65
|
+
|
|
66
|
+
try {
|
|
67
|
+
const pdfdoc = await PDFNet.PDFDoc.create();
|
|
68
|
+
await pdfdoc.initSecurityHandler();
|
|
69
|
+
const inputFile = inputPath + testfile.inputFile;
|
|
70
|
+
const outputFile = outputPath + testfile.outputFile;
|
|
71
|
+
await PDFNet.Convert.printerSetMode(PDFNet.Convert.PrinterMode.e_prefer_builtin_converter);
|
|
72
|
+
await PDFNet.Convert.toPdf(pdfdoc, inputFile);
|
|
73
|
+
await pdfdoc.save(outputFile, PDFNet.SDFDoc.SaveOptions.e_linearized);
|
|
74
|
+
console.log('Converted file: ' + testfile.inputFile + '\nto: ' + testfile.outputFile);
|
|
75
|
+
} catch (err) {
|
|
76
|
+
console.log('Unable to convert file ' + testfile.inputFile);
|
|
77
|
+
console.log(err);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
const convertSpecificFormats = async () => {
|
|
83
|
+
try {
|
|
84
|
+
const pdfdoc = await PDFNet.PDFDoc.create();
|
|
85
|
+
await pdfdoc.initSecurityHandler();
|
|
86
|
+
|
|
87
|
+
console.log('Converting from XPS');
|
|
88
|
+
await PDFNet.Convert.fromXps(pdfdoc, inputPath + 'simple-xps.xps');
|
|
89
|
+
await pdfdoc.save(outputPath + 'xps2pdf v2.pdf', PDFNet.SDFDoc.SaveOptions.e_linearized);
|
|
90
|
+
console.log('Saved xps2pdf v2.pdf');
|
|
91
|
+
} catch (err) {
|
|
92
|
+
console.log(err);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
try {
|
|
97
|
+
const pdfdoc = await PDFNet.PDFDoc.create();
|
|
98
|
+
await pdfdoc.initSecurityHandler();
|
|
99
|
+
|
|
100
|
+
// Add a dictionary
|
|
101
|
+
const set = await PDFNet.ObjSet.create();
|
|
102
|
+
const options = await set.createDict();
|
|
103
|
+
|
|
104
|
+
// Put options
|
|
105
|
+
options.putNumber('FontSize', 15);
|
|
106
|
+
options.putBool('UseSourceCodeFormatting', true);
|
|
107
|
+
options.putNumber('PageWidth', 12);
|
|
108
|
+
await options.putNumber('PageHeight', 6);
|
|
109
|
+
|
|
110
|
+
// Convert from .txt file
|
|
111
|
+
console.log('Converting from txt');
|
|
112
|
+
await PDFNet.Convert.fromText(pdfdoc, inputPath + 'simple-text.txt', options);
|
|
113
|
+
await pdfdoc.save(outputPath + 'simple-text.pdf', PDFNet.SDFDoc.SaveOptions.e_remove_unused);
|
|
114
|
+
console.log('Saved simple-text.pdf');
|
|
115
|
+
} catch (err) {
|
|
116
|
+
console.log(err);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
try {
|
|
120
|
+
const pdfdoc = await PDFNet.PDFDoc.createFromFilePath(inputPath + 'newsletter.pdf');
|
|
121
|
+
await pdfdoc.initSecurityHandler();
|
|
122
|
+
|
|
123
|
+
// Convert PDF document to SVG
|
|
124
|
+
console.log('Converting pdfdoc to SVG');
|
|
125
|
+
await PDFNet.Convert.docToSvg(pdfdoc, outputPath + 'pdf2svg v2.svg');
|
|
126
|
+
console.log('Saved pdf2svg v2.svg');
|
|
127
|
+
} catch (err) {
|
|
128
|
+
console.log(err);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
try {
|
|
132
|
+
// Convert PNG image to XPS
|
|
133
|
+
console.log('Converting PNG to XPS');
|
|
134
|
+
await PDFNet.Convert.fileToXps(inputPath + 'butterfly.png', outputPath + 'butterfly.xps');
|
|
135
|
+
console.log('Saved butterfly.xps');
|
|
136
|
+
} catch (err) {
|
|
137
|
+
console.log(err);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
try {
|
|
142
|
+
// Convert PDF document to XPS
|
|
143
|
+
console.log('Converting PDF to XPS');
|
|
144
|
+
await PDFNet.Convert.fileToXps(inputPath + 'newsletter.pdf', outputPath + 'newsletter.xps');
|
|
145
|
+
console.log('Saved newsletter.xps');
|
|
146
|
+
} catch (err) {
|
|
147
|
+
console.log(err);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
try {
|
|
151
|
+
// Convert PDF document to HTML
|
|
152
|
+
console.log('Converting PDF to HTML');
|
|
153
|
+
await PDFNet.Convert.fileToHtml(inputPath + 'newsletter.pdf', outputPath + 'newsletter');
|
|
154
|
+
console.log('Saved newsletter as HTML');
|
|
155
|
+
} catch (err) {
|
|
156
|
+
console.log(err);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
try {
|
|
160
|
+
// Convert PDF document to EPUB
|
|
161
|
+
console.log('Converting PDF to EPUB');
|
|
162
|
+
await PDFNet.Convert.fileToEpub(inputPath + 'newsletter.pdf', outputPath + 'newsletter.epub');
|
|
163
|
+
console.log('Saved newsletter.epub');
|
|
164
|
+
} catch (err) {
|
|
165
|
+
console.log(err);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
try {
|
|
169
|
+
// Convert PDF document to multipage TIFF
|
|
170
|
+
console.log('Converting PDF to multipage TIFF');
|
|
171
|
+
const tiff_options = new PDFNet.Convert.TiffOutputOptions();
|
|
172
|
+
tiff_options.setDPI(200);
|
|
173
|
+
tiff_options.setDither(true);
|
|
174
|
+
tiff_options.setMono(true);
|
|
175
|
+
|
|
176
|
+
await PDFNet.Convert.fileToTiff(inputPath + 'newsletter.pdf', outputPath + 'newsletter.tiff', tiff_options);
|
|
177
|
+
console.log('Saved newsletter.tiff');
|
|
178
|
+
} catch (err) {
|
|
179
|
+
console.log(err);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
try {
|
|
183
|
+
const pdfdoc = await PDFNet.PDFDoc.create();
|
|
184
|
+
await pdfdoc.initSecurityHandler();
|
|
185
|
+
|
|
186
|
+
// Convert SVG file to PDF
|
|
187
|
+
console.log('Converting SVG to PDF');
|
|
188
|
+
await PDFNet.Convert.fromSVG(pdfdoc, inputPath + 'tiger.svg');
|
|
189
|
+
await pdfdoc.save(outputPath + 'svg2pdf.pdf', PDFNet.SDFDoc.SaveOptions.e_remove_unused);
|
|
190
|
+
|
|
191
|
+
console.log('Saved svg2pdf.pdf');
|
|
192
|
+
} catch (err) {
|
|
193
|
+
console.log(err);
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
PDFNet.runWithCleanup(main, PDFTronLicense.Key).catch(function(error) {
|
|
197
|
+
console.log('Error: ' + JSON.stringify(error));
|
|
198
|
+
}).then(function(){ return PDFNet.shutdown(); });
|
|
199
|
+
};
|
|
200
|
+
exports.runConvertTest();
|
|
201
|
+
})(exports);
|
|
202
|
+
// eslint-disable-next-line spaced-comment
|
|
203
|
+
//# sourceURL=ConvertTest.js
|