Skip to content

Commit 5c091cf

Browse files
Aspose.PDF for JavaScript via C++ 24.6
1 parent 22d7539 commit 5c091cf

File tree

6 files changed

+112
-3
lines changed

6 files changed

+112
-3
lines changed

AsposePDFforJS.js

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

AsposePDFforJS.wasm.zip

56 KB
Binary file not shown.

example.html

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,10 @@ <h2>Aspose.PDF for JavaScript via C++</h2>
236236
<label for="filePdfReplaceFont">REPLACE FONT<span class="tooltip">Choose a PDF-file to replace font</span></label>
237237
<input type="file" id="filePdfReplaceFont" accept="application/pdf" onchange="ffilePdfReplaceFont(event)">
238238
</div>
239+
<div class="column">
240+
<label for="filePdfValidatePDFA">VALIDATE PDF/A<span class="tooltip">Choose a PDF-file to validate PDF/A compatibility</span></label>
241+
<input type="file" id="filePdfValidatePDFA" accept="application/pdf" onchange="ffilePdfValidatePDFA(event)">
242+
</div>
239243
</div>
240244
</div>
241245

@@ -1017,6 +1021,17 @@ <h2>Aspose.PDF for JavaScript via C++</h2>
10171021
file_reader.readAsArrayBuffer(e.target.files[0]);
10181022
}
10191023

1024+
var ffilePdfValidatePDFA = function (e) {
1025+
const file_reader = new FileReader();
1026+
file_reader.onload = (event) => {
1027+
const json = AsposePdfValidatePDFA(event.target.result, e.target.files[0].name, Module.PdfFormat.PDF_A_1A, "ResultPdfValidatePDFA.xml");
1028+
if (json.errorCode == 0) document.getElementById('output').textContent = json.fileNameResult;
1029+
else document.getElementById('output').textContent = json.errorText;
1030+
DownloadFile(json.fileNameResult, "application/xml");
1031+
};
1032+
file_reader.readAsArrayBuffer(e.target.files[0]);
1033+
};
1034+
10201035
</script>
10211036

10221037
<script>

example_worker.html

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@
7979
<option value="AsposePdfReplaceText">Replace text in a PDF-file</option>
8080
<option value="AsposePdfFindText">Find text in a PDF-file</option>
8181
<option value="AsposePdfReplaceFont">Replace font in a PDF-file</option>
82+
<option value="AsposePdfValidatePDFA">Validate PDF/A compatibility a PDF-file</option>
8283

8384
<optgroup label="Metadata PDF">
8485
<option value="AsposePdfSetInfo">Set info (metadata) in a PDF-file</option>
@@ -282,6 +283,7 @@
282283
DownloadFile(json.fileNameResult, "application/vnd.adobe.xfdf", params[0]);
283284
break;
284285
case 'AsposePdfExportXml':
286+
case 'AsposePdfValidatePDFA':
285287
DownloadFile(json.fileNameResult, "application/xml", params[0]);
286288
break;
287289
case 'AsposePdfPagesToPDF':
@@ -566,6 +568,11 @@
566568
transfer = [event.target.result];
567569
params = [event.target.result, ffile.name, template_pdf];
568570
break;
571+
case 'AsposePdfValidatePDFA':
572+
const pdfFormatValidate = 'Module.PdfFormat.PDF_A_1A';
573+
transfer = [event.target.result];
574+
params = [event.target.result, ffile.name, pdfFormatValidate, `Result${operation}.xml`];
575+
break;
569576
default:
570577
// AsposePdfOptimize, AsposePdfAddPageNum, AsposePdfConvertToGrayscale, AsposePdfAConvertToPDF,
571578
// AsposePdfRemoveMetadata, AsposePdfRepair, AsposePdfOptimizeResource, AsposePdfDeleteAnnotations,
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="filePdfValidatePDFA">Choose a PDF-file to validate PDF/A compatibility</label>
12+
<input type="file" id="filePdfValidatePDFA" accept="application/pdf" onchange="ffilePdfValidatePDFA(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 ffilePdfValidatePDFA = function (e) {
21+
const file_reader = new FileReader();
22+
file_reader.onload = (event) => {
23+
/*Validate PDF/A compatibility a PDF-file and save result in the "ResultPdfValidatePDFA.xml"*/
24+
const json = AsposePdfValidatePDFA(event.target.result, e.target.files[0].name, Module.PdfFormat.PDF_A_1A, "ResultPdfValidatePDFA.xml");
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/xml");
29+
};
30+
file_reader.readAsArrayBuffer(e.target.files[0]);
31+
};
32+
/// [Code snippet]
33+
</script>
34+
35+
</html>
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
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="filePdfValidatePDFA">Choose a PDF-file to validate PDF/A compatibility</label>
12+
<input type="file" id="filePdfValidatePDFA" accept="application/pdf" onchange="ffilePdfValidatePDFA(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/xml", evt.data.params[0])}` : `Error: ${evt.data.json.errorText}`;
25+
26+
/*Event handler*/
27+
const ffilePdfValidatePDFA = e => {
28+
const file_reader = new FileReader();
29+
file_reader.onload = event => {
30+
const pdfFormat = 'Module.PdfFormat.PDF_A_1A';
31+
/*Validate PDF/A compatibility a PDF-file and save result in the "ResultPdfValidatePDFA.xml" - Ask Web Worker*/
32+
AsposePDFWebWorker.postMessage({ "operation": 'AsposePdfValidatePDFA', "params": [event.target.result, e.target.files[0].name, pdfFormat, "ResultPdfValidatePDFA.xml"] }, [event.target.result]);
33+
};
34+
file_reader.readAsArrayBuffer(e.target.files[0]);
35+
};
36+
/// [Code snippet]
37+
38+
/*Make a link to download the result file*/
39+
const DownloadFile = (filename, mime, content) => {
40+
mime = mime || "application/octet-stream";
41+
var link = document.createElement("a");
42+
link.href = URL.createObjectURL(new Blob([content], {type: mime}));
43+
link.download = filename;
44+
link.innerHTML = "Click here to download the file " + filename;
45+
document.body.appendChild(link);
46+
document.body.appendChild(document.createElement("br"));
47+
return filename;
48+
}
49+
</script>
50+
51+
</html>

0 commit comments

Comments
 (0)