Skip to content

Commit 031ee03

Browse files
Aspose.PDF for JavaScript via C++ 24.4
1 parent 1bd8df1 commit 031ee03

6 files changed

+114
-4
lines changed

AsposePDFforJS.js

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

AsposePDFforJS.wasm.zip

23.9 KB
Binary file not shown.

example.html

+15
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,10 @@ <h2>Aspose.PDF for JavaScript via C++</h2>
228228
<label for="filePdfFindText">FIND TEXT<span class="tooltip">Choose a PDF-file to find text</span></label>
229229
<input type="file" id="filePdfFindText" accept="application/pdf" onchange="ffilePdfFindText(event)">
230230
</div>
231+
<div class="column">
232+
<label for="filePdfReplaceFont">REPLACE FONT<span class="tooltip">Choose a PDF-file to replace font</span></label>
233+
<input type="file" id="filePdfReplaceFont" accept="application/pdf" onchange="ffilePdfReplaceFont(event)">
234+
</div>
231235
</div>
232236
</div>
233237

@@ -985,6 +989,17 @@ <h2>Aspose.PDF for JavaScript via C++</h2>
985989
file_reader.readAsArrayBuffer(e.target.files[0]);
986990
}
987991

992+
var ffilePdfReplaceFont = function (e) {
993+
const file_reader = new FileReader();
994+
file_reader.onload = (event) => {
995+
const json = AsposePdfReplaceFont(event.target.result, e.target.files[0].name, "Helvetica", "Times", "ResultPdfReplaceFont.pdf");
996+
if (json.errorCode == 0) document.getElementById('output').textContent = json.fileNameResult;
997+
else document.getElementById('output').textContent = json.errorText;
998+
DownloadFile(json.fileNameResult, "application/pdf");
999+
}
1000+
file_reader.readAsArrayBuffer(e.target.files[0]);
1001+
}
1002+
9881003

9891004
</script>
9901005

example_worker.html

+9-1
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@
7777
<option value="AsposePdfGetAttachment">Get attachment from a PDF-file</option>
7878
<option value="AsposePdfReplaceText">Replace text in a PDF-file</option>
7979
<option value="AsposePdfFindText">Find text in a PDF-file</option>
80+
<option value="AsposePdfReplaceFont">Replace font in a PDF-file</option>
8081

8182
<optgroup label="Metadata PDF">
8283
<option value="AsposePdfSetInfo">Set info (metadata) in a PDF-file</option>
@@ -290,7 +291,8 @@
290291
// AsposePdfRemoveMetadata, AsposePdfChangePassword, AsposePdfOptimizeResource,
291292
// AsposePdfSetBackgroundColor, AsposePdfDeleteAnnotations, AsposePdfDeleteBookmarks,
292293
// AsposePdfDeleteAttachments, AsposePdfDeleteImages, AsposePdfDeleteJavaScripts,
293-
// AsposePdfFromTxt, AsposePdfAddAttachment, AsposePdfReplaceText, AsposePdfFromImage
294+
// AsposePdfFromTxt, AsposePdfAddAttachment, AsposePdfReplaceText, AsposePdfFromImage,
295+
// AsposePdfReplaceFont
294296
DownloadFile(json.fileNameResult, "application/pdf", params[0]);
295297
}
296298
}
@@ -547,6 +549,12 @@
547549
transfer = [event.target.result];
548550
params = [event.target.result, ffile.name, pageSize, margin, isLandscape, `Result${operation}.pdf`];
549551
break;
552+
case 'AsposePdfReplaceFont':
553+
const findFont = 'Helvetica';
554+
const replaceFont = 'Times';
555+
transfer = [event.target.result];
556+
params = [event.target.result, ffile.name, findFont, replaceFont, `Result${operation}.pdf`];
557+
break;
550558
default:
551559
// AsposePdfOptimize, AsposePdfAddPageNum, AsposePdfConvertToGrayscale, AsposePdfAConvertToPDF,
552560
// AsposePdfRemoveMetadata, AsposePdfRepair, AsposePdfOptimizeResource, AsposePdfDeleteAnnotations,

snippets/AsposePdfReplaceFont.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="fileReplaceFont">Choose a PDF-file to replace font</label>
12+
<input type="file" id="fileReplaceFont" accept="application/pdf" onchange="ffileReplaceFont(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 ffileReplaceFont = function (e) {
21+
const file_reader = new FileReader();
22+
file_reader.onload = (event) => {
23+
/*Replace font Helvetica to Times in a PDF-file and save the "ResultReplaceFont.pdf"*/
24+
const json = AsposePdfReplaceFont(event.target.result, e.target.files[0].name, "Helvetica", "Times", "ResultReplaceFont.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>
+52
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="fileReplaceFont">Choose a PDF-file to replace font</label>
12+
<input type="file" id="fileReplaceFont" accept="application/pdf" onchange="ffileReplaceFont(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 ffileReplaceFont = e => {
28+
const file_reader = new FileReader();
29+
file_reader.onload = event => {
30+
const findFont = 'Helvetica';
31+
const replaceFont = 'Times';
32+
/*Replace font Helvetica to Times in a PDF-file and save the "ResultReplaceFont.pdf" - Ask Web Worker*/
33+
AsposePDFWebWorker.postMessage({ "operation": 'AsposePdfReplaceFont', "params": [event.target.result, e.target.files[0].name, findFont, replaceFont, "ResultReplaceFont.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)