PDF 파일에서 JavaScript 코드 제거

PDF 파일에서 JavaScript를 제거하는 것은 보안 및 개인 정보 보호를 위해 필요할 수 있습니다. PDF 파일의 JavaScript는 때때로 악의적으로 또는 원치 않는 기능을 위해 사용될 수 있습니다. 결과를 직접 브라우저에서 확인할 수 있습니다.

  1. ‘FileReader’를 생성합니다.

  2. AsposePdfDeleteJavaScripts 함수가 실행됩니다.

  3. 결과 파일의 이름은 이 예제에서 “ResultPdfDeleteJavaScripts.pdf"로 설정됩니다.

  4. 다음으로, ‘json.errorCode’가 0이면 DownloadFile은 이전에 지정한 이름으로 제공됩니다. ‘json.errorCode’ 매개변수가 0이 아니고, 따라서 파일에 오류가 있을 경우, 그러한 오류에 대한 정보는 ‘json.errorText’ 파일에 포함됩니다.

  5. 결과적으로, 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]);
    };

웹 워커 사용하기


    /*웹 워커 생성*/
    const AsposePDFWebWorker = new Worker("AsposePDFforJS.js");
    AsposePDFWebWorker.onerror = evt => console.log(`웹 워커 오류: ${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 파일에서 JavaScript를 삭제하고 "ResultPdfDeleteJavaScripts.pdf"로 저장 - 웹 워커 호출*/
        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;
        }