{"id":151,"date":"2026-09-17T06:28:32","date_gmt":"2026-09-17T06:28:32","guid":{"rendered":"https:\/\/filejp.in\/?page_id=151"},"modified":"2026-09-17T06:31:08","modified_gmt":"2026-09-17T06:31:08","slug":"protect-pdf-add-password-to-pdf","status":"publish","type":"page","link":"https:\/\/filejp.in\/index.php\/protect-pdf-add-password-to-pdf\/","title":{"rendered":"Protect PDF \/ Add Password to PDF"},"content":{"rendered":"<!--themify_builder_content-->\n<div id=\"themify_builder_content-151\" data-postid=\"151\" class=\"themify_builder_content themify_builder_content-151 themify_builder tf_clear\">\n                    <div  data-lazy=\"1\" class=\"module_row themify_builder_row tb_3x5s842 tb_first tf_w\">\n                        <div class=\"row_inner col_align_top tb_col_count_1 tf_box tf_rel\">\n                        <div  data-lazy=\"1\" class=\"module_column tb-column col-full tb_yrtv843 first\">\n                    <!-- module text -->\n<div  class=\"module module-text tb_bayg873   \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <p>Protect PDF \/ Add Password to PDF<\/p>    <\/div>\n<\/div>\n<!-- \/module text -->        <\/div>\n                        <\/div>\n        <\/div>\n                        <div  data-lazy=\"1\" class=\"module_row themify_builder_row tb_vekk458 tf_w\">\n                        <div class=\"row_inner col_align_top tb_col_count_1 tf_box tf_rel\">\n                        <div  data-lazy=\"1\" class=\"module_column tb-column col-full tb_nf7f458 first\">\n                    <!-- module plain text -->\n<div  class=\"module module-plain-text tb_0p6e530 \" data-lazy=\"1\">\n        <div class=\"tb_text_wrap\">\n    <!-- jsPDF & PDF.js Libraries for Reliable Browser-Side Encryption -->\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/pdf.js\/2.16.105\/pdf.min.js\"><\/script>\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf\/2.5.1\/jspdf.umd.min.js\"><\/script>\n\n<div style=\"max-width: 480px; margin: 20px auto; padding: 25px; border: 1px solid #e0e0e0; border-radius: 12px; font-family: Arial, sans-serif; background: #ffffff; text-align: center; box-shadow: 0 4px 12px rgba(0,0,0,0.05);\">\n\n    <h2 style=\"margin-top: 0; color: #2c3e50; font-size: 22px;\">\ud83d\udd12 Protect PDF with Password<\/h2>\n    <p style=\"color: #666; font-size: 14px; margin-bottom: 20px;\">PDF upload karein aur password set karke lock karein.<\/p>\n\n    <!-- Select File -->\n    <input type=\"file\" id=\"protectPdfInput\" accept=\"application\/pdf\" style=\"display: none;\" onchange=\"handleProtectFileSelect(this)\">\n    <label for=\"protectPdfInput\" style=\"background-color: #2271b1; color: #ffffff; padding: 12px 20px; border-radius: 6px; cursor: pointer; display: inline-block; font-weight: bold; font-size: 14px;\">\ud83d\udcc1 Select PDF File<\/label>\n\n    <div id=\"protectStatusMsg\" style=\"margin-top: 15px; font-weight: bold; font-size: 14px; color: #0073aa;\"><\/div>\n\n    <!-- Controls Area -->\n    <div id=\"protectControls\" style=\"display: none; margin-top: 20px; border-top: 1px solid #eee; padding-top: 15px; text-align: left;\">\n        \n        <div style=\"margin-bottom: 12px;\">\n            <label for=\"newPdfPassword\" style=\"display: block; font-weight: bold; font-size: 13px; color: #444; margin-bottom: 6px;\">Set Password:<\/label>\n            <input type=\"password\" id=\"newPdfPassword\" placeholder=\"Enter password...\" style=\"width: 100%; padding: 10px 12px; border: 1px solid #ccc; border-radius: 6px; font-size: 14px; outline: none;\">\n        <\/div>\n\n        <div style=\"margin-bottom: 15px;\">\n            <label for=\"confirmPdfPassword\" style=\"display: block; font-weight: bold; font-size: 13px; color: #444; margin-bottom: 6px;\">Confirm Password:<\/label>\n            <input type=\"password\" id=\"confirmPdfPassword\" placeholder=\"Re-enter password...\" style=\"width: 100%; padding: 10px 12px; border: 1px solid #ccc; border-radius: 6px; font-size: 14px; outline: none;\">\n        <\/div>\n\n        <button onclick=\"processPdfProtect()\" style=\"width: 100%; background-color: #46b450; color: #ffffff; padding: 12px; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 15px; box-shadow: 0 3px 6px rgba(0,0,0,0.1);\">\ud83d\udd12 Protect &#038; Download PDF<\/button>\n\n    <\/div>\n\n<\/div>\n\n<script>\npdfjsLib.GlobalWorkerOptions.workerSrc = 'https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/pdf.js\/2.16.105\/pdf.worker.min.js';\n\nvar globalUnprotectedArrayBuffer = null;\nvar protectFileName = \"protected\";\n\nfunction handleProtectFileSelect(input) {\n    if (!input.files || !input.files[0]) return;\n\n    var file = input.files[0];\n    protectFileName = file.name.replace(\/\\.[^\/.]+$\/, \"\");\n\n    var statusMsg = document.getElementById('protectStatusMsg');\n    var controls = document.getElementById('protectControls');\n\n    statusMsg.style.color = '#0073aa';\n    statusMsg.innerText = '\u23f3 File read ho rahi hai...';\n    controls.style.display = 'none';\n\n    var reader = new FileReader();\n    reader.onload = function(e) {\n        globalUnprotectedArrayBuffer = e.target.result;\n        controls.style.display = 'block';\n        statusMsg.style.color = '#46b450';\n        statusMsg.innerText = '\u2705 File loaded! Password enter karein.';\n        document.getElementById('newPdfPassword').value = '';\n        document.getElementById('confirmPdfPassword').value = '';\n    };\n    reader.readAsArrayBuffer(file);\n}\n\nasync function processPdfProtect() {\n    if (!globalUnprotectedArrayBuffer) return;\n\n    var pass = document.getElementById('newPdfPassword').value;\n    var confirmPass = document.getElementById('confirmPdfPassword').value;\n    var statusMsg = document.getElementById('protectStatusMsg');\n\n    if (!pass) {\n        alert('Kripya password enter karein.');\n        return;\n    }\n\n    if (pass !== confirmPass) {\n        alert('Passwords match nahi kar rahe hain!');\n        return;\n    }\n\n    statusMsg.style.color = '#0073aa';\n    statusMsg.innerText = '\u23f3 PDF Lock ho rahi hai, kripya wait karein...';\n\n    try {\n        var typedarray = new Uint8Array(globalUnprotectedArrayBuffer);\n        var loadingTask = pdfjsLib.getDocument(typedarray);\n        var pdfDoc = await loadingTask.promise;\n\n        const { jsPDF } = window.jspdf;\n        var newPdf = null;\n\n        for (var pageNum = 1; pageNum <= pdfDoc.numPages; pageNum++) {\n            var page = await pdfDoc.getPage(pageNum);\n            var viewport = page.getViewport({ scale: 2.0 }); \/\/ High clarity render\n\n            var canvas = document.createElement('canvas');\n            var ctx = canvas.getContext('2d');\n            canvas.height = viewport.height;\n            canvas.width = viewport.width;\n\n            await page.render({ canvasContext: ctx, viewport: viewport }).promise;\n\n            var imgData = canvas.toDataURL('image\/jpeg', 0.95);\n            var orientation = viewport.width > viewport.height ? 'l' : 'p';\n\n            if (pageNum === 1) {\n                newPdf = new jsPDF({\n                    orientation: orientation,\n                    unit: 'pt',\n                    format: [viewport.width, viewport.height],\n                    encryption: {\n                        userPassword: pass,\n                        ownerPassword: pass,\n                        userPermissions: ['print', 'modify', 'copy', 'annot-forms']\n                    }\n                });\n                newPdf.addImage(imgData, 'JPEG', 0, 0, viewport.width, viewport.height);\n            } else {\n                newPdf.addPage([viewport.width, viewport.height], orientation);\n                newPdf.addImage(imgData, 'JPEG', 0, 0, viewport.width, viewport.height);\n            }\n        }\n\n        newPdf.save(protectFileName + '-protected.pdf');\n\n        statusMsg.style.color = '#46b450';\n        statusMsg.innerText = '\u2705 PDF Successfully Password Locked!';\n    } catch (err) {\n        console.error(err);\n        statusMsg.style.color = '#dc3232';\n        statusMsg.innerText = '\u274c PDF Lock karne me issue aaya.';\n    }\n}\n<\/script>    <\/div>\n<\/div>\n<!-- \/module plain text -->        <\/div>\n                        <\/div>\n        <\/div>\n                        <div  data-lazy=\"1\" class=\"module_row themify_builder_row tb_vv8763 tf_w\">\n                        <div class=\"row_inner col_align_top tb_col_count_1 tf_box tf_rel\">\n                        <div  data-lazy=\"1\" class=\"module_column tb-column col-full tb_o70p64 first\">\n                    <!-- module text -->\n<div  class=\"module module-text tb_w6k0168   \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <p>Protect PDF \/ Add Password to PDF Convert JPG, PNG and other images to PDF online for free. Fast, simple and easy-to-use Image to PDF converter.<\/p>    <\/div>\n<\/div>\n<!-- \/module text -->        <\/div>\n                        <\/div>\n        <\/div>\n        <\/div>\n<!--\/themify_builder_content-->","protected":false},"excerpt":{"rendered":"<p>Protect PDF \/ Add Password to PDF \ud83d\udd12 Protect PDF with Password PDF upload karein aur password set karke lock [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-151","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/filejp.in\/index.php\/wp-json\/wp\/v2\/pages\/151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/filejp.in\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/filejp.in\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/filejp.in\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/filejp.in\/index.php\/wp-json\/wp\/v2\/comments?post=151"}],"version-history":[{"count":5,"href":"https:\/\/filejp.in\/index.php\/wp-json\/wp\/v2\/pages\/151\/revisions"}],"predecessor-version":[{"id":156,"href":"https:\/\/filejp.in\/index.php\/wp-json\/wp\/v2\/pages\/151\/revisions\/156"}],"wp:attachment":[{"href":"https:\/\/filejp.in\/index.php\/wp-json\/wp\/v2\/media?parent=151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}