Skip to content

Commit 35ff3fe

Browse files
Aspose.PDF for JavaScript via C++: AsposePdfRecover
1 parent 60e5557 commit 35ff3fe

3 files changed

Lines changed: 79 additions & 0 deletions

File tree

english/javascript-cpp/_index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ Such operations are very time consuming, so we recommend using Web Worker.
101101
| [AsposePdfDeleteTextHeaders](./organize/asposepdfdeletetextheaders/) | Delete text headers from a PDF-file. |
102102
| [AsposePdfDeleteTextFooters](./organize/asposepdfdeletetextfooters/) | Delete text footers from a PDF-file. |
103103
| [AsposePdfReplaceTextEx](./organize/asposepdfreplacetextex/) | Replace multiple text fragments in a PDF-file with alignment control. |
104+
| [AsposePdfRecover](./organize/asposepdfrecover/) | Recover a PDF-file structure and trims invalid data. |
104105

105106

106107
## Metadata PDF functions

english/javascript-cpp/organize/_index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ url: /javascript-cpp/organize/
5353
| [AsposePdfDeleteTextHeaders](./asposepdfdeletetextheaders/) | Delete text headers from a PDF-file. |
5454
| [AsposePdfDeleteTextFooters](./asposepdfdeletetextfooters/) | Delete text footers from a PDF-file. |
5555
| [AsposePdfReplaceTextEx](./asposepdfreplacetextex/) | Replace multiple text fragments in a PDF-file with alignment control. |
56+
| [AsposePdfRecover](./asposepdfrecover/) | Recover a PDF-file structure and trims invalid data. |
5657

5758

5859
## Detailed Description
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
---
2+
title: "AsposePdfRecover"
3+
second_title: Aspose.PDF for JavaScript via C++
4+
description: "Recover a PDF-file structure and trims invalid data."
5+
type: docs
6+
url: /javascript-cpp/organize/asposepdfrecover/
7+
---
8+
9+
_Recover a PDF-file structure and trims invalid data._
10+
11+
```js
12+
function AsposePdfRecover(
13+
fileBlob,
14+
fileName,
15+
fileNameResult
16+
)
17+
```
18+
19+
**Parameters**:
20+
21+
* **fileBlob** Blob object
22+
* **fileName** file name
23+
* **fileNameResult** result file name
24+
25+
**Return**:
26+
JSON object
27+
* **errorCode** - code error (0 no error)
28+
* **errorText** - text error ("" no error)
29+
* **fileNameResult** - result file name
30+
31+
32+
**Web Worker example**:
33+
```js
34+
/*Create Web Worker*/
35+
const AsposePDFWebWorker = new Worker("AsposePDFforJS.js");
36+
AsposePDFWebWorker.onerror = evt => console.log(`Error from Web Worker: ${evt.message}`);
37+
AsposePDFWebWorker.onmessage = evt => document.getElementById('output').textContent =
38+
(evt.data == 'ready') ? 'loaded!' :
39+
(evt.data.json.errorCode == 0) ? `Result:\n${DownloadFile(evt.data.json.fileNameResult, "application/pdf", evt.data.params[0])}` : `Error: ${evt.data.json.errorText}`;
40+
41+
/*Event handler*/
42+
const ffileRecover = e => {
43+
const file_reader = new FileReader();
44+
file_reader.onload = event => {
45+
/*Recover a PDF-file structure and trims invalid data and save the "ResultRecover.pdf" - Ask Web Worker*/
46+
AsposePDFWebWorker.postMessage({ "operation": 'AsposePdfRecover', "params": [event.target.result, e.target.files[0].name, "ResultRecover.pdf"] }, [event.target.result]);
47+
};
48+
file_reader.readAsArrayBuffer(e.target.files[0]);
49+
};
50+
51+
/*Make a link to download the result file*/
52+
const DownloadFile = (filename, mime, content) => {
53+
mime = mime || "application/octet-stream";
54+
var link = document.createElement("a");
55+
link.href = URL.createObjectURL(new Blob([content], {type: mime}));
56+
link.download = filename;
57+
link.innerHTML = "Click here to download the file " + filename;
58+
document.body.appendChild(link);
59+
document.body.appendChild(document.createElement("br"));
60+
return filename;
61+
}
62+
```
63+
**Simple example**:
64+
```js
65+
var ffileRecover = function (e) {
66+
const file_reader = new FileReader();
67+
file_reader.onload = (event) => {
68+
/*Recover a PDF-file structure and trims invalid data and save the "ResultRecover.pdf"*/
69+
const json = AsposePdfRecover(event.target.result, e.target.files[0].name, "ResultRecover.pdf");
70+
if (json.errorCode == 0) document.getElementById('output').textContent = json.fileNameResult
71+
else document.getElementById('output').textContent = json.errorText;
72+
/*Make a link to download the result file*/
73+
DownloadFile(json.fileNameResult, "application/pdf");
74+
};
75+
file_reader.readAsArrayBuffer(e.target.files[0]);
76+
};
77+
```

0 commit comments

Comments
 (0)