PDFファイル�ら�JavaScriptコード�クリア
PDFファイルã�‹ã‚‰JavaScriptを削除ã�™ã‚‹ã�“ã�¨ã�¯ã€�ã‚»ã‚ュリティã�¨ãƒ—ライãƒ�シーã�®ç�†ç”±ã�§å¿…è¦�ã�«ã�ªã‚‹ã�“ã�¨ã�Œã�‚りã�¾ã�™ã€‚PDFファイル内ã�®JavaScriptã�¯ã€�悪æ„�ã�®ã�‚る目的や望ã�¾ã�—ã��ã�ªã�„機能ã�®ã�Ÿã‚�ã�«ä½¿ç”¨ã�•れるã�“ã�¨ã�Œã�‚りã�¾ã�™ã€‚ブラウザã�§ç›´æŽ¥çµ�果をå�–å¾—ã�§ã��ã�¾ã�™ã€‚
-
‘FileReader’を作æˆ�ã�—ã�¾ã�™ã€‚
-
AsposePdfDeleteJavaScripts 関数�実行�れ��。
-
çµ�æžœã�¨ã�—ã�¦å¾—られるファイルã�®å��å‰�ã�Œè¨å®šã�•れã�¾ã�™ã€‚ã�“ã�®ä¾‹ã�§ã�¯ã€ŒResultPdfDeleteJavaScripts.pdfã€�ã�§ã�™ã€‚
-
次ã�«ã€�‘json.errorCode’ ã�Œ 0 ã�®å ´å�ˆã€�DownloadFile ã�«ã�¯å‰�ã�«æŒ‡å®šã�—ã�Ÿå��å‰�ã�Œä»˜ã�‘られã�¾ã�™ã€‚‘json.errorCode’ パラメータã�Œ 0 ã�¨ç‰ã�—ã��ã�ªã�„å ´å�ˆã€�ã��ã�—ã�¦ã��れã�«å¿œã�˜ã�¦ãƒ•ァイルã�«ã‚¨ãƒ©ãƒ¼ã�Œã�‚ã‚‹å ´å�ˆã€�ã��ã�®ã‚ˆã�†ã�ªã‚¨ãƒ©ãƒ¼ã�«é–¢ã�™ã‚‹æƒ…å ±ã�¯ ‘json.errorText’ ファイルã�«å�«ã�¾ã‚Œã�¾ã�™ã€‚
-
çµ�æžœã�¨ã�—ã�¦ã€�DownloadFile 関数ã�Œãƒªãƒ³ã‚¯ã‚’生æˆ�ã�—ã€�çµ�æžœã�®ãƒ•ァイルをユーザーã�®ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ ã�«ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã�§ã��るよã�†ã�«ã�—ã�¾ã�™ã€‚
var ffilePdfDeleteJavaScripts = function (e) {
const file_reader = new FileReader();
file_reader.onload = (event) => {
/*PDFファイルã�‹ã‚‰JavaScriptを削除ã�—ã€�「ResultPdfDeleteJavaScripts.pdfã€�ã‚’ä¿�å˜ã�—ã�¾ã�™*/
const json = AsposePdfDeleteJavaScripts(event.target.result, e.target.files[0].name, "ResultPdfDeleteJavaScripts.pdf");
if (json.errorCode == 0) document.getElementById('output').textContent = json.fileNameResult;
else document.getElementById('output').textContent = json.errorText;
/*çµ�果ファイルをダウンãƒãƒ¼ãƒ‰ã�™ã‚‹ã�Ÿã‚�ã�®ãƒªãƒ³ã‚¯ã‚’作æˆ�ã�—ã�¾ã�™*/
DownloadFile(json.fileNameResult, "application/pdf");
};
file_reader.readAsArrayBuffer(e.target.files[0]);
};
Web Workers�使用
/*Web Workerを作��る*/
const AsposePDFWebWorker = new Worker("AsposePDFforJS.js");
AsposePDFWebWorker.onerror = evt => console.log(`Web Worker�ら�エラー: ${evt.message}`);
AsposePDFWebWorker.onmessage = evt => document.getElementById('output').textContent =
(evt.data == 'ready') ? 'èªã�¿è¾¼ã�¿å®Œäº†!' :
(evt.data.json.errorCode == 0) ? `�果:\n${DownloadFile(evt.data.json.fileNameResult, "application/pdf", evt.data.params[0])}` : `エラー: ${evt.data.json.errorText}`;
/*イベント�ンドラー*/
const ffilePdfDeleteJavaScripts = e => {
const file_reader = new FileReader();
file_reader.onload = event => {
/*PDFファイルã�‹ã‚‰JavaScriptsを削除ã�—ã€�"ResultPdfDeleteJavaScripts.pdf"ã�¨ã�—ã�¦ä¿�å˜ - Web Workerã�«ä¾�é ¼*/
AsposePDFWebWorker.postMessage({ "operation": 'AsposePdfDeleteJavaScripts', "params": [event.target.result, e.target.files[0].name, "ResultPdfDeleteJavaScripts.pdf"] }, [event.target.result]);
};
file_reader.readAsArrayBuffer(e.target.files[0]);
};
/*çµ�果ファイルをダウンãƒãƒ¼ãƒ‰ã�™ã‚‹ã�Ÿã‚�ã�®ãƒªãƒ³ã‚¯ã‚’作æˆ�ã�™ã‚‹*/
const DownloadFile = (filename, mime, content) => {
mime = mime || "application/octet-stream";
var link = document.createElement("a");
link.href = URL.createObjectURL(new Blob([content], {type: mime}));
link.download = filename;
link.innerHTML = "ファイルをダウンãƒãƒ¼ãƒ‰ã�™ã‚‹ã�«ã�¯ã�“ã�“をクリック " + filename;
document.body.appendChild(link);
document.body.appendChild(document.createElement("br"));
return filename;
}