Skip to content

Commit 8502516

Browse files
Aspose.PDF for JavaScript via C++ 25.3
1 parent c584c78 commit 8502516

8 files changed

+221
-6
lines changed

AsposePDFforJS.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

AsposePDFforJS.wasm.zip

-1.04 MB
Binary file not shown.

example.html

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,14 @@ <h2>Aspose.PDF for JavaScript via C++</h2>
272272
<label for="fileMakeBooklet">BOOKLET<span class="tooltip">Make booklet from a PDF-file</span></label>
273273
<input type="file" id="fileMakeBooklet" accept="application/pdf" onchange="ffileMakeBooklet(event)">
274274
</div>
275+
<div class="column">
276+
<label for="fileMakeNUp">N-UP<span class="tooltip">Make N-Up document from a PDF-file</span></label>
277+
<input type="file" id="fileMakeNUp" accept="application/pdf" onchange="ffileMakeNUp(event)">
278+
</div>
279+
<div class="column">
280+
<label for="fileDeleteBlankPages">DEL BLANK PAGES<span class="tooltip">Delete blank pages from a PDF-file</span></label>
281+
<input type="file" id="fileDeleteBlankPages" accept="application/pdf" onchange="ffileDeleteBlankPages(event)">
282+
</div>
275283
</div>
276284
</div>
277285

@@ -1182,6 +1190,30 @@ <h2>Aspose.PDF for JavaScript via C++</h2>
11821190
file_reader.readAsArrayBuffer(e.target.files[0]);
11831191
}
11841192

1193+
var ffileMakeNUp = function (e) {
1194+
const file_reader = new FileReader();
1195+
file_reader.onload = (event) => {
1196+
const columns = 2
1197+
const rows = 2
1198+
const json = AsposePdfMakeNUp(event.target.result, e.target.files[0].name, columns, rows, "ResultMakeNUp.pdf");
1199+
if (json.errorCode == 0) document.getElementById('output').textContent = json.fileNameResult;
1200+
else document.getElementById('output').textContent = json.errorText;
1201+
DownloadFile(json.fileNameResult, "application/pdf");
1202+
}
1203+
file_reader.readAsArrayBuffer(e.target.files[0]);
1204+
}
1205+
1206+
var ffileDeleteBlankPages = function (e) {
1207+
const file_reader = new FileReader();
1208+
file_reader.onload = (event) => {
1209+
const json = AsposePdfDeleteBlankPages(event.target.result, e.target.files[0].name, "ResultDeleteBlankPages.pdf");
1210+
if (json.errorCode == 0) document.getElementById('output').textContent = json.fileNameResult;
1211+
else document.getElementById('output').textContent = json.errorText;
1212+
DownloadFile(json.fileNameResult, "application/pdf");
1213+
}
1214+
file_reader.readAsArrayBuffer(e.target.files[0]);
1215+
}
1216+
11851217
</script>
11861218

11871219
<script>

example_worker.html

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@
8888
<option value="AsposePdfMergeLayers">Merge layers a PDF-file</option>
8989
<option value="AsposePdfFlatten">Flatten a PDF-file</option>
9090
<option value="AsposePdfMakeBooklet">Make booklet from a PDF-file</option>
91+
<option value="AsposePdfMakeNUp">Make N-Up document from a PDF-file</option>
92+
<option value="AsposePdfDeleteBlankPages">Delete blank pages from a PDF-file</option>
9193

9294
<optgroup label="Metadata PDF">
9395
<option value="AsposePdfSetInfo">Set info (metadata) in a PDF-file</option>
@@ -317,8 +319,9 @@
317319
// AsposePdfSetBackgroundColor, AsposePdfDeleteAnnotations, AsposePdfDeleteBookmarks,
318320
// AsposePdfDeleteAttachments, AsposePdfDeleteImages, AsposePdfDeleteJavaScripts,
319321
// AsposePdfFromTxt, AsposePdfAddAttachment, AsposePdfReplaceText, AsposePdfFromImage,
320-
// AsposePdfReplaceFont, AsposePdfDeleteHiddenText, AsposePdfAddWatermark, AsposePdfDeleteWatermarks
321-
// AsposePdfMergeLayers, AsposePdfFlatten, AsposePdfReplaceTextPages, AsposePdfMakeBooklet
322+
// AsposePdfReplaceFont, AsposePdfDeleteHiddenText, AsposePdfAddWatermark, AsposePdfDeleteWatermarks,
323+
// AsposePdfMergeLayers, AsposePdfFlatten, AsposePdfReplaceTextPages, AsposePdfMakeBooklet,
324+
// AsposePdfMakeNUp, AsposePdfDeleteBlankPages
322325
DownloadFile(json.fileNameResult, "application/pdf", params[0]);
323326
}
324327
}
@@ -617,12 +620,18 @@
617620
transfer = [event.target.result];
618621
params = [event.target.result, ffile.name, "MergedLayer", `Result${operation}.pdf`];
619622
break;
623+
case 'AsposePdfMakeNUp':
624+
const columns = 2
625+
const rows = 2
626+
transfer = [event.target.result];
627+
params = [event.target.result, ffile.name, columns, rows, `Result${operation}.pdf`];
628+
break;
620629
default:
621630
// AsposePdfOptimize, AsposePdfAddPageNum, AsposePdfConvertToGrayscale, AsposePdfAConvertToPDF,
622631
// AsposePdfRemoveMetadata, AsposePdfRepair, AsposePdfOptimizeResource, AsposePdfDeleteAnnotations,
623632
// AsposePdfDeleteBookmarks, AsposePdfDeleteAttachments, AsposePdfDeleteImages, AsposePdfDeleteJavaScripts,
624633
// AsposePdfFromTxt, AsposePdfFindHiddenText, AsposePdfDeleteHiddenText, AsposePdfDeleteWatermarks,
625-
// AsposePdfFlatten, AsposePdfMakeBooklet
634+
// AsposePdfFlatten, AsposePdfMakeBooklet, AsposePdfDeleteBlankPages
626635
transfer = [event.target.result];
627636
params = [event.target.result, ffile.name, `Result${operation}.pdf`];
628637
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<!DOCTYPE html>
2+
<html>
3+
4+
<head>
5+
<meta name="viewport" content="width=device-width, initial-scale=1">
6+
<meta charset="UTF-8">
7+
<title>Aspose.PDF for JavaScript via C++</title>
8+
</head>
9+
10+
<body>
11+
<label for="fileDeleteBlankPages">Choose a PDF-file to delete blank pages</label>
12+
<input type="file" id="fileDeleteBlankPages" accept="application/pdf" onchange="ffileDeleteBlankPages(event)">
13+
<br>
14+
<pre id="output"></pre>
15+
</body>
16+
<!-- Load and initiate Aspose.PDF for JavaScript via C++ -->
17+
<script type="text/javascript" async src="AsposePDFforJS.js"></script>
18+
<script type="text/javascript">
19+
/// [Code snippet]
20+
var ffileDeleteBlankPages = function (e) {
21+
const file_reader = new FileReader();
22+
file_reader.onload = (event) => {
23+
/*Delete blank pages from a PDF-file and save the "ResultDeleteBlankPages.pdf"*/
24+
const json = AsposePdfDeleteBlankPages(event.target.result, e.target.files[0].name, "ResultDeleteBlankPages.pdf");
25+
if (json.errorCode == 0) document.getElementById('output').textContent = json.fileNameResult;
26+
else document.getElementById('output').textContent = json.errorText;
27+
/*Make a link to download the result file*/
28+
DownloadFile(json.fileNameResult, "application/pdf");
29+
};
30+
file_reader.readAsArrayBuffer(e.target.files[0]);
31+
};
32+
/// [Code snippet]
33+
</script>
34+
35+
</html>
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
<!DOCTYPE html>
2+
<html>
3+
4+
<head>
5+
<meta name="viewport" content="width=device-width, initial-scale=1">
6+
<meta charset="UTF-8">
7+
<title>Aspose.PDF for JavaScript via C++</title>
8+
</head>
9+
10+
<body>
11+
<label for="fileDeleteBlankPages">Choose a PDF-file to delete blank pages
12+
<input type="file" id="fileDeleteBlankPages" accept="application/pdf" onchange="ffileDeleteBlankPages(event)">
13+
<br>
14+
<pre id="output">please wait for loading...</pre>
15+
</body>
16+
17+
<script type="text/javascript">
18+
/// [Code snippet]
19+
/*Create Web Worker*/
20+
const AsposePDFWebWorker = new Worker("AsposePDFforJS.js");
21+
AsposePDFWebWorker.onerror = evt => console.log(`Error from Web Worker: ${evt.message}`);
22+
AsposePDFWebWorker.onmessage = evt => document.getElementById('output').textContent =
23+
(evt.data == 'ready') ? 'loaded!' :
24+
(evt.data.json.errorCode == 0) ? `Result:\n${DownloadFile(evt.data.json.fileNameResult, "application/pdf", evt.data.params[0])}` : `Error: ${evt.data.json.errorText}`;
25+
26+
/*Event handler*/
27+
const ffileDeleteBlankPages = e => {
28+
const file_reader = new FileReader();
29+
file_reader.onload = event => {
30+
/*Delete blank pages from a PDF-file and save the "ResultDeleteBlankPages.pdf" - Ask Web Worker*/
31+
AsposePDFWebWorker.postMessage({ "operation": 'AsposePdfDeleteBlankPages', "params": [event.target.result, e.target.files[0].name, "ResultDeleteBlankPages.pdf"] }, [event.target.result]);
32+
};
33+
file_reader.readAsArrayBuffer(e.target.files[0]);
34+
};
35+
/// [Code snippet]
36+
37+
/*Make a link to download the result file*/
38+
const DownloadFile = (filename, mime, content) => {
39+
mime = mime || "application/octet-stream";
40+
var link = document.createElement("a");
41+
link.href = URL.createObjectURL(new Blob([content], {type: mime}));
42+
link.download = filename;
43+
link.innerHTML = "Click here to download the file " + filename;
44+
document.body.appendChild(link);
45+
document.body.appendChild(document.createElement("br"));
46+
return filename;
47+
}
48+
</script>
49+
50+
</html>

snippets/AsposePdfMakeNUp.html

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<!DOCTYPE html>
2+
<html>
3+
4+
<head>
5+
<meta name="viewport" content="width=device-width, initial-scale=1">
6+
<meta charset="UTF-8">
7+
<title>Aspose.PDF for JavaScript via C++</title>
8+
</head>
9+
10+
<body>
11+
<label for="fileMakeNUp">Choose a PDF-file to make N-Up document</label>
12+
<input type="file" id="fileMakeNUp" accept="application/pdf" onchange="ffileMakeNUp(event)">
13+
<br>
14+
<pre id="output"></pre>
15+
</body>
16+
<!-- Load and initiate Aspose.PDF for JavaScript via C++ -->
17+
<script type="text/javascript" async src="AsposePDFforJS.js"></script>
18+
<script type="text/javascript">
19+
/// [Code snippet]
20+
var ffileMakeNUp = function (e) {
21+
const file_reader = new FileReader();
22+
file_reader.onload = (event) => {
23+
/*Make N-Up document from a PDF-file and save the "ResultMakeNUp.pdf"*/
24+
const columns = 2
25+
const rows = 2
26+
const json = AsposePdfMakeNUp(event.target.result, e.target.files[0].name, columns, rows, "ResultMakeNUp.pdf");
27+
if (json.errorCode == 0) document.getElementById('output').textContent = json.fileNameResult;
28+
else document.getElementById('output').textContent = json.errorText;
29+
/*Make a link to download the result file*/
30+
DownloadFile(json.fileNameResult, "application/pdf");
31+
};
32+
file_reader.readAsArrayBuffer(e.target.files[0]);
33+
};
34+
/// [Code snippet]
35+
</script>
36+
37+
</html>
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<!DOCTYPE html>
2+
<html>
3+
4+
<head>
5+
<meta name="viewport" content="width=device-width, initial-scale=1">
6+
<meta charset="UTF-8">
7+
<title>Aspose.PDF for JavaScript via C++</title>
8+
</head>
9+
10+
<body>
11+
<label for="fileMakeNUp">Choose a PDF-file to make N-Up document
12+
<input type="file" id="fileMakeNUp" accept="application/pdf" onchange="ffileMakeNUp(event)">
13+
<br>
14+
<pre id="output">please wait for loading...</pre>
15+
</body>
16+
17+
<script type="text/javascript">
18+
/// [Code snippet]
19+
/*Create Web Worker*/
20+
const AsposePDFWebWorker = new Worker("AsposePDFforJS.js");
21+
AsposePDFWebWorker.onerror = evt => console.log(`Error from Web Worker: ${evt.message}`);
22+
AsposePDFWebWorker.onmessage = evt => document.getElementById('output').textContent =
23+
(evt.data == 'ready') ? 'loaded!' :
24+
(evt.data.json.errorCode == 0) ? `Result:\n${DownloadFile(evt.data.json.fileNameResult, "application/pdf", evt.data.params[0])}` : `Error: ${evt.data.json.errorText}`;
25+
26+
/*Event handler*/
27+
const ffileMakeNUp = e => {
28+
const file_reader = new FileReader();
29+
file_reader.onload = event => {
30+
/*Make N-Up document from a PDF-file and save the "ResultMakeNUp.pdf" - Ask Web Worker*/
31+
const columns = 2
32+
const rows = 2
33+
AsposePDFWebWorker.postMessage({ "operation": 'AsposePdfMakeNUp', "params": [event.target.result, e.target.files[0].name, columns, rows, "ResultMakeNUp.pdf"] }, [event.target.result]);
34+
};
35+
file_reader.readAsArrayBuffer(e.target.files[0]);
36+
};
37+
/// [Code snippet]
38+
39+
/*Make a link to download the result file*/
40+
const DownloadFile = (filename, mime, content) => {
41+
mime = mime || "application/octet-stream";
42+
var link = document.createElement("a");
43+
link.href = URL.createObjectURL(new Blob([content], {type: mime}));
44+
link.download = filename;
45+
link.innerHTML = "Click here to download the file " + filename;
46+
document.body.appendChild(link);
47+
document.body.appendChild(document.createElement("br"));
48+
return filename;
49+
}
50+
</script>
51+
52+
</html>

0 commit comments

Comments
 (0)