Skip to content

Commit 03c173c

Browse files
Aspose.PDF for JavaScript via C++ 24.10
1 parent 1e0cede commit 03c173c

8 files changed

+236
-11
lines changed

AsposePDFforJS.js

+4-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

AsposePDFforJS.wasm.zip

10.2 KB
Binary file not shown.

example.html

+36-6
Original file line numberDiff line numberDiff line change
@@ -225,29 +225,37 @@ <h2>Aspose.PDF for JavaScript via C++</h2>
225225
<input type="file" id="filePdfGetAttachment" accept="application/pdf" onchange="ffilePdfGetAttachment(event)">
226226
</div>
227227
<div class="column">
228-
<label for="filePdfReplaceText">REPLACE TEXT<span class="tooltip">Choose a PDF-file to replace text</span></label>
228+
<label for="filePdfReplaceText">REPLACE TEXT<span class="tooltip">Replace text in a PDF-file</span></label>
229229
<input type="file" id="filePdfReplaceText" accept="application/pdf" onchange="ffilePdfReplaceText(event)">
230230
</div>
231231
<div class="column">
232-
<label for="filePdfFindText">FIND TEXT<span class="tooltip">Choose a PDF-file to find text</span></label>
232+
<label for="filePdfFindText">FIND TEXT<span class="tooltip">Find text in a PDF-file</span></label>
233233
<input type="file" id="filePdfFindText" accept="application/pdf" onchange="ffilePdfFindText(event)">
234234
</div>
235235
<div class="column">
236-
<label for="filePdfReplaceFont">REPLACE FONT<span class="tooltip">Choose a PDF-file to replace font</span></label>
236+
<label for="filePdfReplaceFont">REPLACE FONT<span class="tooltip">Replace font in a PDF-file</span></label>
237237
<input type="file" id="filePdfReplaceFont" accept="application/pdf" onchange="ffilePdfReplaceFont(event)">
238238
</div>
239239
<div class="column">
240-
<label for="filePdfValidatePDFA">VALIDATE PDF/A<span class="tooltip">Choose a PDF-file to validate PDF/A compatibility</span></label>
240+
<label for="filePdfValidatePDFA">VALIDATE PDF/A<span class="tooltip">Validate PDF/A compatibility a PDF-file</span></label>
241241
<input type="file" id="filePdfValidatePDFA" accept="application/pdf" onchange="ffilePdfValidatePDFA(event)">
242242
</div>
243243
<div class="column">
244-
<label for="filePdfFindHiddenText">FIND HIDDEN TEXT<span class="tooltip">Choose a PDF-file to find hidden text</span></label>
244+
<label for="filePdfFindHiddenText">FIND HIDDEN TEXT<span class="tooltip">Find hidden text in a PDF-file</span></label>
245245
<input type="file" id="filePdfFindHiddenText" accept="application/pdf" onchange="ffilePdfFindHiddenText(event)">
246246
</div>
247247
<div class="column">
248-
<label for="filePdfDeleteHiddenText">DEL HIDDEN TEXT<span class="tooltip">Choose a PDF-file to delete hidden text</span></label>
248+
<label for="filePdfDeleteHiddenText">DEL HIDDEN TEXT<span class="tooltip">Delete hidden text from a PDF-file</span></label>
249249
<input type="file" id="filePdfDeleteHiddenText" accept="application/pdf" onchange="ffilePdfDeleteHiddenText(event)">
250250
</div>
251+
<div class="column">
252+
<label for="filePdfAddWatermark">ADD WATERMARK<span class="tooltip">Add watermark to a PDF-file</span></label>
253+
<input type="file" id="filePdfAddWatermark" accept="application/pdf" onchange="ffilePdfAddWatermark(event)">
254+
</div>
255+
<div class="column">
256+
<label for="filePdfDeleteWatermarks">DEL WATERMARKS<span class="tooltip">Delete watermarks from a PDF-file</span></label>
257+
<input type="file" id="filePdfDeleteWatermarks" accept="application/pdf" onchange="ffilePdfDeleteWatermarks(event)">
258+
</div>
251259
</div>
252260
</div>
253261

@@ -1076,6 +1084,28 @@ <h2>Aspose.PDF for JavaScript via C++</h2>
10761084
file_reader.readAsArrayBuffer(e.target.files[0]);
10771085
};
10781086

1087+
var ffilePdfAddWatermark = function (e) {
1088+
const file_reader = new FileReader();
1089+
file_reader.onload = (event) => {
1090+
const json = AsposePdfAddWatermark(event.target.result, e.target.files[0].name, "Aspose PDF", "Arial", 32, "#010101", 100, 100, 45, 1, 0.5, "ResultPdfAddWatermark.pdf");
1091+
if (json.errorCode == 0) document.getElementById('output').textContent = json.fileNameResult;
1092+
else document.getElementById('output').textContent = json.errorText;
1093+
DownloadFile(json.fileNameResult, "application/pdf");
1094+
}
1095+
file_reader.readAsArrayBuffer(e.target.files[0]);
1096+
}
1097+
1098+
var ffilePdfDeleteWatermarks = function (e) {
1099+
const file_reader = new FileReader();
1100+
file_reader.onload = (event) => {
1101+
const json = AsposePdfDeleteWatermarks(event.target.result, e.target.files[0].name, "ResultPdfDeleteWatermarks.pdf");
1102+
if (json.errorCode == 0) document.getElementById('output').textContent = json.fileNameResult;
1103+
else document.getElementById('output').textContent = json.errorText;
1104+
DownloadFile(json.fileNameResult, "application/pdf");
1105+
};
1106+
file_reader.readAsArrayBuffer(e.target.files[0]);
1107+
};
1108+
10791109
</script>
10801110

10811111
<script>

example_worker.html

+17-2
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@
8282
<option value="AsposePdfValidatePDFA">Validate PDF/A compatibility a PDF-file</option>
8383
<option value="AsposePdfFindHiddenText">Find hidden text in a PDF-file</option>
8484
<option value="AsposePdfDeleteHiddenText">Delete hidden text from a PDF-file</option>
85+
<option value="AsposePdfAddWatermark">Add watermark to a PDF-file</option>
86+
<option value="AsposePdfDeleteWatermarks">Delete watermarks from a PDF-file</option>
8587

8688
<optgroup label="Metadata PDF">
8789
<option value="AsposePdfSetInfo">Set info (metadata) in a PDF-file</option>
@@ -307,7 +309,7 @@
307309
// AsposePdfSetBackgroundColor, AsposePdfDeleteAnnotations, AsposePdfDeleteBookmarks,
308310
// AsposePdfDeleteAttachments, AsposePdfDeleteImages, AsposePdfDeleteJavaScripts,
309311
// AsposePdfFromTxt, AsposePdfAddAttachment, AsposePdfReplaceText, AsposePdfFromImage,
310-
// AsposePdfReplaceFont, AsposePdfDeleteHiddenText
312+
// AsposePdfReplaceFont, AsposePdfDeleteHiddenText, AsposePdfAddWatermark, AsposePdfDeleteWatermarks
311313
DownloadFile(json.fileNameResult, "application/pdf", params[0]);
312314
}
313315
}
@@ -581,11 +583,24 @@
581583
transfer = [event.target.result];
582584
params = [event.target.result, ffile.name, pdfFormatValidate, `Result${operation}.xml`];
583585
break;
586+
case 'AsposePdfAddWatermark':
587+
const text = "Aspose PDF";
588+
const fontName = "Arial";
589+
const fontSize = 32;
590+
const foregroundColor = "#010101";
591+
const xPosition = 100;
592+
const yPosition = 100;
593+
const rotation2 = 45;
594+
const isBackground2 = 1;
595+
const opacity2 = 0.5;
596+
transfer = [event.target.result];
597+
params = [event.target.result, ffile.name, text, fontName, fontSize, foregroundColor, xPosition, yPosition, rotation2, isBackground2, opacity2, `Result${operation}.pdf`];
598+
break;
584599
default:
585600
// AsposePdfOptimize, AsposePdfAddPageNum, AsposePdfConvertToGrayscale, AsposePdfAConvertToPDF,
586601
// AsposePdfRemoveMetadata, AsposePdfRepair, AsposePdfOptimizeResource, AsposePdfDeleteAnnotations,
587602
// AsposePdfDeleteBookmarks, AsposePdfDeleteAttachments, AsposePdfDeleteImages, AsposePdfDeleteJavaScripts,
588-
// AsposePdfFromTxt, AsposePdfFindHiddenText, AsposePdfDeleteHiddenText
603+
// AsposePdfFromTxt, AsposePdfFindHiddenText, AsposePdfDeleteHiddenText, AsposePdfDeleteWatermarks
589604
transfer = [event.target.result];
590605
params = [event.target.result, ffile.name, `Result${operation}.pdf`];
591606
}

snippets/AsposePdfAddWatermark.html

+35
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="fileAddWatermark">Choose a PDF-file to add watermark</label>
12+
<input type="file" id="fileAddWatermark" accept="application/pdf" onchange="ffileAddWatermark(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 ffileAddWatermark = function (e) {
21+
const file_reader = new FileReader();
22+
file_reader.onload = (event) => {
23+
/*Add watermark to a PDF-file and save the "ResultPdfAddWatermark.pdf"*/
24+
const json = AsposePdfAddWatermark(event.target.result, e.target.files[0].name, "Aspose PDF", "Arial", 32, "#010101", 100, 100, 45, 1, 0.5, "ResultPdfAddWatermark.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>
+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
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="fileAddWatermark">Choose a PDF-file to add watermark</label>
12+
<input type="file" id="fileAddWatermark" accept="application/pdf" onchange="ffileAddWatermark(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 ffileAddWatermark = e => {
28+
const file_reader = new FileReader();
29+
file_reader.onload = event => {
30+
const text = "Aspose PDF";
31+
const fontName = "Arial";
32+
const fontSize = 32;
33+
const foregroundColor = "#010101";
34+
const xPosition = 100;
35+
const yPosition = 100;
36+
const rotation = 45;
37+
const isBackground = 1;
38+
const opacity = 0.5;
39+
/*Add watermark to a PDF-file and save the "ResultPdfAddWatermark.pdf" - Ask Web Worker*/
40+
AsposePDFWebWorker.postMessage({ "operation": 'AsposePdfAddWatermark', "params": [event.target.result, e.target.files[0].name, text, fontName, fontSize, foregroundColor, xPosition, yPosition, rotation, isBackground, opacity, "ResultPdfAddWatermark.pdf"] }, [event.target.result]);
41+
};
42+
file_reader.readAsArrayBuffer(e.target.files[0]);
43+
};
44+
/// [Code snippet]
45+
46+
/*Make a link to download the result file*/
47+
const DownloadFile = (filename, mime, content) => {
48+
mime = mime || "application/octet-stream";
49+
var link = document.createElement("a");
50+
link.href = URL.createObjectURL(new Blob([content], {type: mime}));
51+
link.download = filename;
52+
link.innerHTML = "Click here to download the file " + filename;
53+
document.body.appendChild(link);
54+
document.body.appendChild(document.createElement("br"));
55+
return filename;
56+
}
57+
</script>
58+
59+
</html>
+35
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="filePdfDeleteWatermarks">Choose a PDF-file to delete watermarks</label>
12+
<input type="file" id="filePdfDeleteWatermarks" accept="application/pdf" onchange="ffilePdfDeleteWatermarks(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 ffilePdfDeleteWatermarks = function (e) {
21+
const file_reader = new FileReader();
22+
file_reader.onload = (event) => {
23+
/*Delete watermarks from a PDF-file and save the "ResultPdfDeleteWatermarks.pdf"*/
24+
const json = AsposePdfDeleteWatermarks(event.target.result, e.target.files[0].name, "ResultPdfDeleteWatermarks.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>
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="filePdfDeleteWatermarks">Choose a PDF-file to delete watermarks</label>
12+
<input type="file" id="filePdfDeleteWatermarks" accept="application/pdf" onchange="ffilePdfDeleteWatermarks(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 ffilePdfDeleteWatermarks = e => {
28+
const file_reader = new FileReader();
29+
file_reader.onload = event => {
30+
/*Delete watermarks from a PDF-file and save the "ResultPdfDeleteWatermarks.pdf" - Ask Web Worker*/
31+
AsposePDFWebWorker.postMessage({ "operation": 'AsposePdfDeleteWatermarks', "params": [event.target.result, e.target.files[0].name, "ResultPdfDeleteWatermarks.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>

0 commit comments

Comments
 (0)