{"id":659,"date":"2026-07-27T19:38:35","date_gmt":"2026-07-27T13:53:35","guid":{"rendered":"https:\/\/www.dewatools.com\/?page_id=659"},"modified":"2026-07-29T20:12:42","modified_gmt":"2026-07-29T14:27:42","slug":"pdf-merger","status":"publish","type":"page","link":"https:\/\/www.dewatools.com\/index.php\/pdf-merger\/","title":{"rendered":"Pdf Merger"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"659\" class=\"elementor elementor-659\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2d07a2a elementor-section-full_width elementor-section-stretched elementor-section-height-default elementor-section-height-default\" data-id=\"2d07a2a\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2cde790\" data-id=\"2cde790\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-aeb2ea8 elementor-widget elementor-widget-html\" data-id=\"aeb2ea8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n\r\n\r\n<div class=\"dt-pdf-app\">\r\n\r\n<div class=\"dt-popup\">\r\n\r\n    <!-- Header -->\r\n\r\n    <div class=\"dt-header\">\r\n\r\n        <div class=\"dt-logo\">\r\n\r\n            <span>Dewa<\/span>Tools\r\n\r\n        <\/div>\r\n\r\n        <div class=\"dt-subtitle\">\r\n\r\n            Smart PDF Merger\r\n\r\n        <\/div>\r\n\r\n    <\/div>\r\n\r\n    <!-- Drop Area -->\r\n\r\n    <div id=\"dropArea\" class=\"dt-drop\">\r\n\r\n        <div class=\"dt-drop-icon\">\r\n\r\n            <img decoding=\"async\" src=\"https:\/\/www.dewatools.com\/wp-content\/uploads\/2026\/07\/pdf.png\" alt=\"PDF\" width=\"50\" height=\"40\">\r\n\r\n        <\/div>\r\n\r\n        <h2 id=\"dropTitle\">\r\n    Drag & Drop PDF Files\r\n<\/h2>\r\n\r\n<p id=\"dropSubTitle\">\r\n    or Double Click to Browse Files\r\n<\/p>\r\n        <input\r\n        type=\"file\"\r\n        id=\"pdfInput\"\r\n        accept=\".pdf\"\r\n        multiple\r\n        hidden>\r\n\r\n    <\/div>\r\n\r\n    <!-- Bottom -->\r\n\r\n    <div class=\"dt-bottom\">\r\n\r\n        <button\r\n        id=\"browseBtn\"\r\n        class=\"dt-btn\">\r\n\r\n            Select PDF Files\r\n\r\n        <\/button>\r\n\r\n        <div\r\n        id=\"fileInfo\"\r\n        class=\"dt-info\">\r\n\r\n            No PDF Selected\r\n\r\n        <\/div>\r\n\r\n    <\/div>\r\n\r\n    <!-- File List -->\r\n\r\n    <div\r\n    id=\"fileList\"\r\n    class=\"dt-file-list\">\r\n\r\n    <\/div>\r\n\r\n    <!-- Merge -->\r\n\r\n   <!-- Action Buttons -->\r\n\r\n<div class=\"dt-actions\">\r\n\r\n    <button\r\n    id=\"mergeBtn\"\r\n    class=\"dt-action merge\">\r\n\r\n        Merge Now\r\n\r\n    <\/button>\r\n\r\n\r\n    <button\r\n    id=\"clearBtn\"\r\n    class=\"dt-action clear\">\r\n\r\n        Clear List\r\n\r\n    <\/button>\r\n\r\n\r\n    <a\r\n    href=\"https:\/\/www.dewatools.com\/\"\r\n    class=\"dt-action home\">\r\n\r\n        Back to Home\r\n\r\n    <\/a>\r\n\r\n<\/div>\r\n\r\n<\/div>\r\n<div id=\"dtWarningPopup\" class=\"dt-warning-overlay\">\r\n\r\n    <div class=\"dt-warning-box\">\r\n\r\n        <div class=\"dt-warning-icon\">\r\n            \u26a0\ufe0f\r\n        <\/div>\r\n\r\n        <h3 id=\"dtWarningTitle\">\r\n            Attention\r\n        <\/h3>\r\n\r\n        <p id=\"dtWarningMessage\">\r\n            Please select at least 2 PDF files.\r\n        <\/p>\r\n\r\n\r\n        <button id=\"dtWarningClose\">\r\n            OK\r\n        <\/button>\r\n\r\n    <\/div>\r\n <\/div>\r\n<\/div>\r\n<style>\r\n\/* =====================================\r\n   DewaTools Warning Popup\r\n===================================== *\/\r\n\/* Chrome, Edge, Safari *\/\r\n::-webkit-scrollbar{\r\n    width:0;\r\n    height:0;\r\n    display:none;\r\n}\r\n\r\n\/* Firefox *\/\r\nhtml{\r\n    scrollbar-width:none;\r\n}\r\n\r\n\/* Internet Explorer \/ Old Edge *\/\r\nbody{\r\n    -ms-overflow-style:none;\r\n}\r\n\r\n.dt-warning-overlay{\r\n\r\n    position:fixed;\r\n\r\n    inset:0;\r\n\r\n    background:\r\n    rgba(0,0,0,.65);\r\n\r\n    backdrop-filter:blur(8px);\r\n\r\n    display:none;\r\n\r\n    align-items:center;\r\n\r\n    justify-content:center;\r\n\r\n    z-index:99999999;\r\n\r\n}\r\n\r\n\r\n\/* Popup Box *\/\r\n\r\n.dt-warning-box{\r\n\r\n    width:90%;\r\n\r\n    max-width:380px;\r\n\r\n    padding:15px 20px;\r\n\r\n    border-radius:28px;\r\n\r\n    text-align:center;\r\n\r\n    background:\r\n\r\n    linear-gradient(\r\n        145deg,\r\n        #ffffff,\r\n        #f1f5f9\r\n    );\r\n\r\n\r\n    box-shadow:\r\n\r\n    0 25px 80px rgba(0,0,0,.35);\r\n\r\n\r\n    animation:\r\n\r\n    dtWarningPop .3s ease;\r\n\r\n}\r\n\r\n\r\n\/* Icon *\/\r\n\r\n.dt-warning-icon{\r\n\r\n    width:75px;\r\n\r\n    height:75px;\r\n\r\n    margin:0 auto 15px;\r\n\r\n    display:flex;\r\n\r\n    align-items:center;\r\n\r\n    justify-content:center;\r\n\r\n    font-size:40px;\r\n\r\n    border-radius:50%;\r\n\r\n\r\n    background:\r\n\r\n    linear-gradient(\r\n        135deg,\r\n        #fbbf24,\r\n        #f97316\r\n    );\r\n\r\n\r\n    box-shadow:\r\n\r\n    0 10px 30px rgba(249,115,22,.35);\r\n\r\n}\r\n\r\n\r\n\/* Title *\/\r\n\r\n.dt-warning-box h3{\r\n\r\n    margin:10px 0;\r\n\r\n    font-size:24px;\r\n\r\n    font-weight:800;\r\n\r\n    color:#1e293b;\r\n\r\n}\r\n\r\n\r\n\/* Message *\/\r\n\r\n.dt-warning-box p{\r\n\r\n    color:#475569;\r\n\r\n    font-size:16px;\r\n\r\n    line-height:1.6;\r\n\r\n    margin-bottom:25px;\r\n\r\n}\r\n\r\n\r\n\/* Button *\/\r\n\r\n.dt-warning-box button{\r\n\r\n    width:100%;\r\n\r\n    padding:14px;\r\n\r\n    border:none;\r\n\r\n    border-radius:50px;\r\n\r\n\r\n    background:\r\n\r\n    linear-gradient(\r\n        135deg,\r\n        #2563eb,\r\n        #06b6d4\r\n    );\r\n\r\n\r\n    color:#fff;\r\n\r\n    font-size:16px;\r\n\r\n    font-weight:700;\r\n\r\n    cursor:pointer;\r\n\r\n    transition:.3s;\r\n\r\n}\r\n\r\n\r\n.dt-warning-box button:hover{\r\n\r\n    transform:translateY(-3px);\r\n\r\n}\r\n\r\n\r\n@keyframes dtWarningPop{\r\n\r\n\r\nfrom{\r\n\r\n    transform:scale(.75);\r\n\r\n    opacity:0;\r\n\r\n}\r\n\r\n\r\nto{\r\n\r\n    transform:scale(1);\r\n\r\n    opacity:1;\r\n\r\n}\r\n\r\n}\r\n\/*=========================================\r\nDewaTools PDF Merger\r\nPART 2\r\n=========================================*\/\r\n\r\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');\r\n\r\n.dt-pdf-app{\r\n\r\nwidth:100%;\r\n\r\npadding:20px 20px;\r\n\r\nbackground:\r\n\r\nlinear-gradient(\r\n135deg,\r\n#071426,\r\n#0d2342,\r\n#13335e\r\n);\r\n\r\nfont-family:'Plus Jakarta Sans',sans-serif;\r\n\r\ndisplay:flex;\r\n\r\njustify-content:center;\r\n\r\nalign-items:center;\r\n\r\noverflow:hidden;\r\n\r\nposition:relative;\r\n\r\n}\r\n\r\n\/* Background Glow *\/\r\n\r\n.dt-pdf-app:before{\r\n\r\ncontent:\"\";\r\n\r\nposition:absolute;\r\n\r\nwidth:420px;\r\nheight:420px;\r\n\r\nleft:-120px;\r\ntop:-120px;\r\n\r\nborder-radius:50%;\r\n\r\nbackground:#2563eb;\r\n\r\nfilter:blur(130px);\r\n\r\nopacity:.22;\r\n\r\nanimation:dtGlow1 12s ease-in-out infinite;\r\n\r\n}\r\n\r\n.dt-pdf-app:after{\r\n\r\ncontent:\"\";\r\n\r\nposition:absolute;\r\n\r\nwidth:350px;\r\nheight:350px;\r\n\r\nright:-100px;\r\nbottom:-100px;\r\n\r\nborder-radius:50%;\r\n\r\nbackground:#06b6d4;\r\n\r\nfilter:blur(120px);\r\n\r\nopacity:.18;\r\n\r\nanimation:dtGlow2 16s ease-in-out infinite;\r\n\r\n}\r\n\r\n\/* Popup *\/\r\n\r\n.dt-popup{\r\n\r\nposition:relative;\r\n\r\nz-index:5;\r\n\r\nwidth:100%;\r\n\r\nmax-width:750px;\r\n\r\nbackground:\r\n\r\nrgba(255,255,255,.08);\r\n\r\nborder:1px solid rgba(255,255,255,.12);\r\n\r\nbackdrop-filter:blur(22px);\r\n\r\nborder-radius:28px;\r\n\r\npadding:40px;\r\n\r\nbox-shadow:\r\n\r\n0 25px 70px rgba(0,0,0,.35);\r\n\r\n}\r\n\r\n\/* Header *\/\r\n\r\n.dt-header{\r\n\r\ntext-align:center;\r\n\r\nmargin-bottom:10px;\r\n\r\n}\r\n\r\n.dt-logo{\r\n\r\nfont-size:46px;\r\n\r\nfont-weight:900;\r\n\r\nletter-spacing:-1px;\r\n\r\ncolor:#ffffff;\r\n\r\n}\r\n\r\n.dt-logo span{\r\n\r\nbackground:linear-gradient(\r\n90deg,\r\n#60a5fa,\r\n#22d3ee\r\n);\r\n\r\n-webkit-background-clip:text;\r\n\r\n-webkit-text-fill-color:transparent;\r\n\r\n}\r\n\r\n.dt-subtitle{\r\n\r\nmargin-top:1px;\r\n\r\nfont-size:16px;\r\n\r\ncolor:#9fb8d9;\r\n\r\n}\r\n\r\n\/* Drop Area *\/\r\n\r\n.dt-drop{\r\n\r\nborder:3px dashed rgba(96,165,250,.45);\r\n\r\nborder-radius:24px;\r\n\r\npadding:5px 20px;\r\n\r\ntext-align:center;\r\n\r\ncursor:pointer;\r\n\r\ntransition:.35s;\r\n\r\nbackground:\r\n\r\nrgba(255,255,255,.03);\r\n\r\n}\r\n\r\n.dt-drop:hover{\r\n\r\nbackground:\r\n\r\nrgba(255,255,255,.05);\r\n\r\nborder-color:#60a5fa;\r\n\r\ntransform:translateY(-3px);\r\n\r\n}\r\n\r\n.dt-drop-icon{\r\n\r\nfont-size:20px;\r\n\r\nmargin-bottom:10px;\r\n\r\n}\r\n\r\n.dt-drop h2{\r\n\r\nfont-size:30px;\r\n\r\ncolor:#fff;\r\n\r\nmargin-bottom:12px;\r\n\r\nfont-weight:800;\r\n\r\n}\r\n\r\n.dt-drop p{\r\n\r\nfont-size:14px;\r\n\r\ncolor:#b9c9dd;\r\n\r\n}\r\n\r\n\/* Bottom *\/\r\n\r\n.dt-bottom{\r\n\r\nmargin-top:20px;\r\n\r\ndisplay:flex;\r\n\r\njustify-content:space-between;\r\n\r\nalign-items:center;\r\n\r\ngap:10px;\r\n\r\nflex-wrap:wrap;\r\n\r\n}\r\n\r\n\/* Browse *\/\r\n\r\n.dt-btn{\r\n\r\npadding:10px 15px;\r\n\r\nborder:none;\r\n\r\nborder-radius:50px;\r\n\r\ncursor:pointer;\r\n\r\nfont-size:16px;\r\n\r\nfont-weight:700;\r\n\r\nbackground:\r\n\r\nlinear-gradient(\r\n135deg,\r\n#2563eb,\r\n#3b82f6\r\n);\r\n\r\ncolor:#fff;\r\n\r\ntransition:.3s;\r\n\r\nbox-shadow:\r\n\r\n0 15px 40px rgba(37,99,235,.35);\r\n\r\n}\r\n\r\n.dt-btn:hover{\r\n\r\ntransform:translateY(-4px);\r\n\r\n}\r\n\r\n\/* File Info *\/\r\n\r\n.dt-info{\r\n\r\ncolor:#d7e3f2;\r\n\r\nfont-size:12px;\r\n\r\nfont-weight:600;\r\n\r\n}\r\n\r\n\/* File List *\/\r\n\r\n.dt-file-list{\r\n\r\nmargin-top:10px;\r\n\r\ndisplay:flex;\r\n\r\nflex-direction:column;\r\n\r\ngap:5px;\r\n\r\n}\r\n\r\n\/* Merge *\/\r\n\r\n.dt-merge{\r\n\r\nmargin-top:10px;\r\n\r\nwidth:100%;\r\n\r\npadding:10px;\r\n\r\nfont-size:18px;\r\n\r\nfont-weight:800;\r\n\r\nborder:none;\r\n\r\nborder-radius:60px;\r\n\r\ncursor:pointer;\r\n\r\nbackground:\r\n\r\nlinear-gradient(\r\n135deg,\r\n#2563eb,\r\n#22d3ee\r\n);\r\n\r\ncolor:#fff;\r\n\r\ntransition:.35s;\r\n\r\nbox-shadow:\r\n\r\n0 20px 50px rgba(37,99,235,.35);\r\n\r\n}\r\n\r\n.dt-merge:hover{\r\n\r\ntransform:translateY(-4px);\r\n\r\nbox-shadow:\r\n\r\n0 30px 60px rgba(37,99,235,.45);\r\n\r\n}\r\n\r\n\/* Glow Animation *\/\r\n\r\n@keyframes dtGlow1{\r\n\r\n0%{\r\n\r\ntransform:translate(0,0);\r\n\r\n}\r\n\r\n50%{\r\n\r\ntransform:translate(80px,60px);\r\n\r\n}\r\n\r\n100%{\r\n\r\ntransform:translate(0,0);\r\n\r\n}\r\n\r\n}\r\n\r\n@keyframes dtGlow2{\r\n\r\n0%{\r\n\r\ntransform:translate(0,0);\r\n\r\n}\r\n\r\n50%{\r\n\r\ntransform:translate(-60px,-70px);\r\n\r\n}\r\n\r\n100%{\r\n\r\ntransform:translate(0,0);\r\n\r\n}\r\n\r\n}\r\n\r\n\/* Responsive *\/\r\n\r\n@media(max-width:768px){\r\n\r\n.dt-popup{\r\npadding:20px;\r\n\r\n}\r\n\r\n.dt-logo{\r\n\r\nfont-size:34px;\r\n\r\n}\r\n\r\n.dt-drop{\r\n\r\npadding:40px 20px;\r\n\r\n}\r\n\r\n.dt-drop h2{\r\n\r\nfont-size:22px;\r\n\r\n}\r\n\r\n.dt-bottom{\r\n\r\nflex-direction:column;\r\n\r\nalign-items:stretch;\r\n\r\n}\r\n\r\n.dt-btn{\r\n\r\nwidth:100%;\r\n\r\n}\r\n\r\n}\r\n\/*=====================================\r\n PDF FILE ITEM\r\n======================================*\/\r\n\r\n.dt-file-item{\r\n\r\ndisplay:flex;\r\n\r\nalign-items:center;\r\n\r\njustify-content:space-between;\r\n\r\ngap:5px;\r\n\r\npadding:7px 10px;\r\n\r\nmargin-bottom:5px;\r\n\r\nborder-radius:18px;\r\n\r\nbackground:\r\n\r\nrgba(255,255,255,.05);\r\n\r\nborder:1px solid rgba(255,255,255,.08);\r\n\r\ntransition:.3s;\r\n\r\n}\r\n\r\n.dt-file-item:hover{\r\n\r\nbackground:\r\n\r\nrgba(255,255,255,.08);\r\n\r\n}\r\n\r\n.dt-file-left{\r\n\r\ndisplay:flex;\r\n\r\nalign-items:center;\r\n\r\ngap:5px;\r\n\r\noverflow:hidden;\r\n\r\n}\r\n\r\n.dt-file-icon{\r\n\r\nfont-size:26px;\r\n\r\n}\r\n\r\n.dt-file-name{\r\n\r\ncolor:#fff;\r\n\r\nfont-weight:700;\r\n\r\nfont-size:12px;\r\n\r\nwhite-space:nowrap;\r\n\r\noverflow:hidden;\r\n\r\ntext-overflow:ellipsis;\r\n\r\nmax-width:320px;\r\n\r\n}\r\n\r\n.dt-file-size{\r\n\r\nfont-size:10px;\r\n\r\ncolor:#8fb4d9;\r\n\r\nmargin-top:2px;\r\n\r\n}\r\n\r\n.dt-remove{\r\n\r\nwidth:20px;\r\n\r\nheight:20px;\r\n\r\nborder:none;\r\n\r\nborder-radius:50%;\r\n\r\ncursor:pointer;\r\n\r\nfont-size:12px;\r\n\r\nbackground:#ef4444;\r\n\r\ncolor:#fff;\r\n\r\ntransition:.25s;\r\n\r\n}\r\n\r\n.dt-remove:hover{\r\n\r\ntransform:scale(1.08);\r\n\r\nbackground:#dc2626;\r\n\r\n}\r\n.dt-alert-overlay{\r\n\r\n    position:fixed;\r\n\r\n    inset:0;\r\n\r\n    background:rgba(0,0,0,.55);\r\n\r\n    display:none;\r\n\r\n    justify-content:center;\r\n\r\n    align-items:center;\r\n\r\n    z-index:9999999;\r\n\r\n    animation:dtFade .25s ease;\r\n\r\n}\r\n\r\n.dt-alert-box{\r\n\r\n    width:90%;\r\n\r\n    max-width:360px;\r\n\r\n    background:#fff;\r\n\r\n    border-radius:22px;\r\n\r\n    padding:30px;\r\n\r\n    text-align:center;\r\n\r\n    box-shadow:0 20px 60px rgba(0,0,0,.25);\r\n\r\n    animation:dtPop .25s ease;\r\n\r\n}\r\n\r\n.dt-alert-icon{\r\n\r\n    font-size:56px;\r\n\r\n    margin-bottom:15px;\r\n\r\n}\r\n\r\n.dt-alert-text{\r\n\r\n    font-size:18px;\r\n\r\n    font-weight:700;\r\n\r\n    color:#1f2937;\r\n\r\n    line-height:1.5;\r\n\r\n}\r\n\r\n.dt-alert-btn{\r\n\r\n    margin-top:25px;\r\n\r\n    width:100%;\r\n\r\n    padding:14px;\r\n\r\n    border:none;\r\n\r\n    border-radius:50px;\r\n\r\n    background:linear-gradient(135deg,#2563eb,#22d3ee);\r\n\r\n    color:#fff;\r\n\r\n    font-size:16px;\r\n\r\n    font-weight:700;\r\n\r\n    cursor:pointer;\r\n\r\n}\r\n\r\n.dt-alert-btn:hover{\r\n\r\n    opacity:.92;\r\n\r\n}\r\n\r\n@keyframes dtFade{\r\n\r\n    from{opacity:0;}\r\n\r\n    to{opacity:1;}\r\n\r\n}\r\n\r\n@keyframes dtPop{\r\n\r\n    from{\r\n\r\n        transform:scale(.85);\r\n\r\n        opacity:0;\r\n\r\n    }\r\n\r\n    to{\r\n\r\n        transform:scale(1);\r\n\r\n        opacity:1;\r\n\r\n    }\r\n\r\n}\r\n\/*=================================\r\n ACTION BUTTONS\r\n=================================*\/\r\n\r\n.dt-actions{\r\n\r\n    margin-top:10px;\r\n\r\n    display:flex;\r\n\r\n    gap:15px;\r\n\r\n    justify-content:center;\r\n\r\n    flex-wrap:wrap;\r\n\r\n}\r\n\r\n\r\n.dt-action{\r\n\r\n    padding:8px 12px;\r\n\r\n    border:none;\r\n\r\n    border-radius:50px;\r\n\r\n    font-size:14px;\r\n\r\n    font-weight:800;\r\n\r\n    cursor:pointer;\r\n\r\n    text-decoration:none !important;\r\n\r\n    color:#fff;\r\n\r\n    transition:.3s;\r\n\r\n    display:inline-flex;\r\n\r\n    align-items:center;\r\n\r\n    justify-content:center;\r\n\r\n}\r\n\r\n\r\n\/* Merge *\/\r\n\r\n.dt-action.merge{\r\n\r\n    background:\r\n    linear-gradient(135deg,#2563eb,#22d3ee);\r\n\r\n}\r\n\r\n\r\n\/* Clear *\/\r\n\r\n.dt-action.clear{\r\n\r\n    background:\r\n    linear-gradient(135deg,#ef4444,#f97316);\r\n\r\n}\r\n\r\n\r\n\/* Home *\/\r\n\r\n.dt-action.home{\r\n\r\n    background:\r\n    linear-gradient(135deg,#10b981,#22c55e);\r\n\r\n}\r\n\r\n\r\n.dt-action:hover{\r\n\r\n    transform:translateY(-4px);\r\n\r\n    box-shadow:\r\n    0 15px 35px rgba(0,0,0,.25);\r\n    text-decoration:none !important;\r\n    color:#fff;\r\n\r\n}\r\n\r\n\r\n@media(max-width:600px){\r\n\r\n    .dt-action{\r\n\r\n        width:100%;\r\n        text-decoration:none !important;\r\n\r\n    }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n.pdf-popup{\r\n\r\ndisplay:none;\r\nposition:fixed;\r\n\r\ninset:0;\r\n\r\nbackground:rgba(0,0,0,.65);\r\n\r\nz-index:999999;\r\n\r\nalign-items:center;\r\n\r\njustify-content:center;\r\n\r\n}\r\n\r\n\r\n.pdf-popup-box{\r\n\r\nwidth:95%;\r\n\r\nmax-width:750px;\r\n\r\nmax-height:90vh;\r\n\r\noverflow:auto;\r\n\r\n}\r\n<\/style>\r\n\r\n<script src=\"https:\/\/unpkg.com\/pdf-lib\/dist\/pdf-lib.min.js\"><\/script>\r\n\r\n<script>\r\n\r\n\/*======================================================\r\n DewaTools PDF Merger\r\n Version 1.0\r\n======================================================*\/\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n    console.log(\"DewaTools JS Started\");\r\n\r\n    \"use strict\";\r\n\r\n    \/*=========================================\r\n      ELEMENTS\r\n    =========================================*\/\r\n    const dropTitle = document.getElementById(\"dropTitle\");\r\n    const dropSubTitle = document.getElementById(\"dropSubTitle\");\r\n\r\n    const dropArea  = document.getElementById(\"dropArea\");\r\n    const input     = document.getElementById(\"pdfInput\");\r\n    const browseBtn = document.getElementById(\"browseBtn\");\r\n    const mergeBtn  = document.getElementById(\"mergeBtn\");\r\n    const clearBtn = document.getElementById(\"clearBtn\");\r\n\r\n    const fileInfo  = document.getElementById(\"fileInfo\");\r\n    const fileList  = document.getElementById(\"fileList\");\r\n\r\n    \/*=========================================\r\n      SAFETY CHECK\r\n    =========================================*\/\r\n\r\n    if(\r\n        !dropArea ||\r\n        !input ||\r\n        !browseBtn ||\r\n        !mergeBtn ||\r\n        !fileInfo ||\r\n        !fileList\r\n    ){\r\n\r\n        console.error(\"DewaTools : Required HTML IDs not found.\");\r\n\r\n        return;\r\n\r\n    }\r\n\r\n    \/*=========================================\r\n      VARIABLES\r\n    =========================================*\/\r\n\r\n    let selectedFiles = [];\r\n\r\n    let downloadCounter =\r\n        parseInt(\r\n            localStorage.getItem(\"dt_pdf_counter\") || \"0\"\r\n        );\r\n\r\n    \/*=========================================\r\n      HELPERS\r\n    =========================================*\/\r\n\r\n    function formatSize(bytes){\r\n\r\n        if(bytes < 1024){\r\n\r\n            return bytes + \" Bytes\";\r\n\r\n        }\r\n\r\n        if(bytes < 1024*1024){\r\n\r\n            return (bytes\/1024).toFixed(1) + \" KB\";\r\n\r\n        }\r\n\r\n        return (bytes\/1024\/1024).toFixed(2) + \" MB\";\r\n\r\n    }\r\n\r\n    function isPDF(file){\r\n\r\n        return (\r\n            file.type === \"application\/pdf\" ||\r\n            file.name.toLowerCase().endsWith(\".pdf\")\r\n        );\r\n\r\n    }\r\n\r\n    function resetDropStyle(){\r\n\r\n        dropArea.style.borderColor =\r\n        \"rgba(96,165,250,.45)\";\r\n\r\n        dropArea.style.background =\r\n        \"rgba(255,255,255,.03)\";\r\n\r\n    }\r\n\r\n    function activeDropStyle(){\r\n\r\n        dropArea.style.borderColor =\r\n        \"#38bdf8\";\r\n\r\n        dropArea.style.background =\r\n        \"rgba(56,189,248,.08)\";\r\n\r\n    }\r\n\r\n    \/*=========================================\r\n      FILE LIST\r\n    =========================================*\/\r\n\r\n    function renderFiles(){\r\n\r\n        fileList.innerHTML=\"\";\r\n\r\n        if(selectedFiles.length===0){\r\n\r\n    fileInfo.innerHTML = \"No PDF Selected\";\r\n\r\n    dropTitle.innerHTML = \"Drag & Drop PDF Files\";\r\n\r\n    dropSubTitle.innerHTML = \"or Double Click to Browse Files\";\r\n\r\n    return;\r\n\r\n}\r\n\r\n        fileInfo.innerHTML=\r\n\r\n        selectedFiles.length+\r\n\r\n        \" PDF Selected\";\r\n        \r\n        dropTitle.innerHTML =\r\nselectedFiles.length + \" PDF Selected\";\r\n\r\ndropSubTitle.innerHTML =\r\n\"Ready to Merge\";\r\n\r\n        selectedFiles.forEach((file,index)=>{\r\n\r\n            const row=document.createElement(\"div\");\r\n\r\n            row.className=\"dt-file-item\";\r\n\r\n            row.innerHTML=`\r\n\r\n            <div class=\"dt-file-left\">\r\n\r\n                <div class=\"dt-file-icon\">\r\n\r\n                  <img decoding=\"async\" src=\"https:\/\/www.dewatools.com\/wp-content\/uploads\/2026\/07\/pdf.png\" alt=\"PDF\" width=\"50\" height=\"40\">\r\n\r\n                <\/div>\r\n\r\n                <div>\r\n\r\n                    <div class=\"dt-file-name\">\r\n\r\n                        ${file.name}\r\n\r\n                    <\/div>\r\n\r\n                    <div class=\"dt-file-size\">\r\n\r\n                        ${formatSize(file.size)}\r\n\r\n                    <\/div>\r\n\r\n                <\/div>\r\n\r\n            <\/div>\r\n\r\n            <button\r\n\r\n                class=\"dt-remove\"\r\n\r\n                data-index=\"${index}\">\r\n\r\n                \u2715\r\n\r\n            <\/button>\r\n\r\n            `;\r\n\r\n            fileList.appendChild(row);\r\n\r\n        });\r\n\r\n        \/* Remove Button *\/\r\n\r\n        document.querySelectorAll(\".dt-remove\")\r\n\r\n        .forEach(btn=>{\r\n\r\n            btn.onclick=function(){\r\n\r\n                const i=\r\n\r\n                parseInt(\r\n\r\n                this.dataset.index\r\n\r\n                );\r\n\r\n                selectedFiles.splice(i,1);\r\n\r\n                renderFiles();\r\n\r\n            };\r\n\r\n        });\r\n\r\n    }\r\n\r\n    \/*=========================================\r\n      ADD FILES\r\n    =========================================*\/\r\n\r\n    function addFiles(files){\r\n\r\n        [...files].forEach(file=>{\r\n\r\n            if(isPDF(file)){\r\n\r\n                selectedFiles.push(file);\r\n\r\n            }\r\n\r\n        });\r\n\r\n        renderFiles();\r\n\r\n    }\r\n\r\n    \/*=========================================\r\n      BROWSE\r\n    =========================================*\/\r\n\r\n    browseBtn.addEventListener(\"click\",(e)=>{\r\n\r\n        e.preventDefault();\r\n\r\n        input.click();\r\n\r\n    });\r\n\r\n    dropArea.addEventListener(\"dblclick\",()=>{\r\n\r\n    input.click();\r\n\r\n});\r\n\r\n    input.addEventListener(\"change\",function(){\r\n\r\n        addFiles(this.files);\r\n\r\n        this.value=\"\";\r\n\r\n    });\r\n\r\n    \/*=========================================\r\n      DRAG DROP\r\n    =========================================*\/\r\n\r\n    [\"dragenter\",\"dragover\"]\r\n\r\n    .forEach(event=>{\r\n\r\n        dropArea.addEventListener(\r\n\r\n            event,\r\n\r\n            e=>{\r\n\r\n                e.preventDefault();\r\n\r\n                activeDropStyle();\r\n\r\n            }\r\n\r\n        );\r\n\r\n    });\r\n\r\n    [\"dragleave\",\"drop\"]\r\n\r\n    .forEach(event=>{\r\n\r\n        dropArea.addEventListener(\r\n\r\n            event,\r\n\r\n            e=>{\r\n\r\n                e.preventDefault();\r\n\r\n                resetDropStyle();\r\n\r\n            }\r\n\r\n        );\r\n\r\n    });\r\n\r\n    dropArea.addEventListener(\r\n\r\n        \"drop\",\r\n\r\n        e=>{\r\n\r\n            addFiles(\r\n\r\n                e.dataTransfer.files\r\n\r\n            );\r\n\r\n        }\r\n\r\n    );\r\n    \r\n        \/*=========================================\r\n      MERGE BUTTON\r\n    =========================================*\/\r\n\r\n    mergeBtn.addEventListener(\"click\", async function(){\r\n\r\n        if(selectedFiles.length < 2){\r\n\r\n            showWarning(\"Please select at least 2 PDF files.\");\r\n\r\n            return;\r\n\r\n        }\r\n\r\n        mergeBtn.disabled = true;\r\n\r\n        mergeBtn.innerHTML = \"Merging PDFs...\";\r\n\r\n        try{\r\n\r\n            const mergedPdf = await PDFLib.PDFDocument.create();\r\n\r\n            for(const file of selectedFiles){\r\n\r\n                const bytes = await file.arrayBuffer();\r\n\r\n                const pdf = await PDFLib.PDFDocument.load(bytes);\r\n\r\n                const copiedPages = await mergedPdf.copyPages(\r\n\r\n                    pdf,\r\n\r\n                    pdf.getPageIndices()\r\n\r\n                );\r\n\r\n                copiedPages.forEach(page=>{\r\n\r\n                    mergedPdf.addPage(page);\r\n\r\n                });\r\n\r\n            }\r\n\r\n            const mergedBytes = await mergedPdf.save();\r\n\r\n            downloadCounter++;\r\n\r\n            localStorage.setItem(\r\n\r\n                \"dt_pdf_counter\",\r\n\r\n                downloadCounter\r\n\r\n            );\r\n\r\n            const fileName =\r\n\r\n                \"DT\" +\r\n\r\n                String(downloadCounter).padStart(3,\"0\") +\r\n\r\n                \".pdf\";\r\n\r\n            const blob = new Blob(\r\n\r\n                [mergedBytes],\r\n\r\n                {\r\n\r\n                    type:\"application\/pdf\"\r\n\r\n                }\r\n\r\n            );\r\n\r\n            const url = URL.createObjectURL(blob);\r\n\r\n            const a = document.createElement(\"a\");\r\n\r\n            a.href = url;\r\n\r\n            a.download = fileName;\r\n\r\n            document.body.appendChild(a);\r\n\r\n            a.click();\r\n\r\n            a.remove();\r\n\r\n            URL.revokeObjectURL(url);\r\n\r\n            mergeBtn.innerHTML=\"Merge Completed \u2713\";\r\n\r\n            setTimeout(function(){\r\n\r\n                mergeBtn.innerHTML=\"Merge Now\";\r\n\r\n                mergeBtn.disabled=false;\r\n\r\n            },1800);\r\n\r\n        }\r\n\r\n        catch(error){\r\n\r\n            console.error(error);\r\n\r\n            alert(\r\n\r\n                \"Unable to merge PDF files.\"\r\n\r\n            );\r\n\r\n            mergeBtn.innerHTML=\"Merge Now\";\r\n\r\n            mergeBtn.disabled=false;\r\n\r\n        }\r\n\r\n    });\r\n    \r\n    \/*=========================================\r\n CLEAR LIST\r\n=========================================*\/\r\n\r\nclearBtn.addEventListener(\"click\",function(){\r\n\r\n    if(selectedFiles.length===0){\r\n\r\n        showAlert(\"No PDF files to clear.\");\r\n\r\n        return;\r\n\r\n    }\r\n\r\n\r\n    selectedFiles=[];\r\n\r\n    renderFiles();\r\n\r\n\r\n});\r\n\r\n    \/*=========================================\r\n      INITIAL\r\n    =========================================*\/\r\n\r\n    renderFiles();\r\n\r\n}); \/* DOMContentLoaded END *\/\r\n\r\n\r\n\r\n\r\n\r\nconst warningPopup =\r\ndocument.getElementById(\"dtWarningPopup\");\r\n\r\nconst warningMessage =\r\ndocument.getElementById(\"dtWarningMessage\");\r\n\r\nconst warningClose =\r\ndocument.getElementById(\"dtWarningClose\");\r\n\r\n\r\nfunction showWarning(message){\r\n\r\n    warningMessage.innerHTML = message;\r\n\r\n    warningPopup.style.display = \"flex\";\r\n\r\n}\r\n\r\n\r\nwarningClose.addEventListener(\"click\",()=>{\r\n\r\n    warningPopup.style.display = \"none\";\r\n\r\n});\r\n\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6a1f4b7 elementor-section-full_width elementor-section-stretched elementor-section-height-default elementor-section-height-default\" data-id=\"6a1f4b7\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6637352 elementor-invisible\" data-id=\"6637352\" data-element_type=\"column\" data-e-type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;fadeInUp&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3deaa84 elementor-widget elementor-widget-heading\" data-id=\"3deaa84\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">How It Works<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-70628eb elementor-section-full_width elementor-section-stretched elementor-section-height-default elementor-section-height-default\" data-id=\"70628eb\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3f412ea\" data-id=\"3f412ea\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e8ad226 elementor-widget elementor-widget-text-editor\" data-id=\"e8ad226\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Using the DewaTools PDF Merger is quick, secure, and effortless. Simply upload your PDF files, review the selected documents, and merge them into a single PDF in just a few clicks. Your files are processed directly in your browser, ensuring maximum privacy without uploading them to any server.<br \/><strong>Step 1 &#8211; Select Your PDF File<\/strong>s<br \/>Click Select PDF Files or simply drag and drop your PDF documents into the upload area. You can choose multiple PDF files at once from your computer, tablet, or mobile device.<br \/><strong>Step 2 &#8211; Review &amp; Organize<\/strong><br \/>Verify the selected files before merging. Remove any unwanted files if necessary and make sure the documents are ready to be combined in your preferred order.<br \/><strong>Step 3 &#8211; Merge &amp; Download<\/strong><br \/>Click the Merge Now button to instantly combine your PDF files into one document. Once the process is complete, your merged PDF will automatically download to your device with a generated filename, ready to use or share.<br \/><strong>\ud83d\udd12 Privacy First:<\/strong> Your PDF files are processed entirely within your browser. Nothing is uploaded, stored, or shared on any server, keeping your documents safe and confidential.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-429bf09 elementor-section-full_width elementor-section-stretched elementor-section-height-default elementor-section-height-default\" data-id=\"429bf09\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0a645e8 elementor-invisible\" data-id=\"0a645e8\" data-element_type=\"column\" data-e-type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;fadeInUp&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1c4bf9c elementor-widget elementor-widget-heading\" data-id=\"1c4bf9c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Key Features<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-01c39cc elementor-section-full_width elementor-section-stretched elementor-section-height-default elementor-section-height-default\" data-id=\"01c39cc\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-c3ce16f\" data-id=\"c3ce16f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4835ac3 elementor-widget elementor-widget-text-editor\" data-id=\"4835ac3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>\ud83d\udfe2 Merge multiple PDF files in seconds<br \/>\ud83d\udfe2100% Browser-based processing<br \/>\ud83d\udfe2 No file upload required<br \/>\ud83d\udfe2 Fast and secure PDF merging<br \/>\ud83d\udfe2 Works on Desktop, Tablet &amp; Mobile<br \/>\ud83d\udfe2 Completely free to use<br \/>\ud83d\udfe2 Clean, modern and user-friendly interface<br \/>\ud83d\udfe2 No software installation needed<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-209cd4a\" data-id=\"209cd4a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-213cf48\" data-id=\"213cf48\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>DewaTools Smart PDF Merger Drag &#038; Drop PDF Files or Double Click to Browse Files Select PDF Files No PDF Selected Merge Now Clear List Back to Home \u26a0\ufe0f Attention Please select at least 2 PDF files. OK How It Works Using the DewaTools PDF Merger is quick, secure, and effortless. Simply upload your PDF [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-659","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.dewatools.com\/index.php\/wp-json\/wp\/v2\/pages\/659","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dewatools.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.dewatools.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.dewatools.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dewatools.com\/index.php\/wp-json\/wp\/v2\/comments?post=659"}],"version-history":[{"count":224,"href":"https:\/\/www.dewatools.com\/index.php\/wp-json\/wp\/v2\/pages\/659\/revisions"}],"predecessor-version":[{"id":1405,"href":"https:\/\/www.dewatools.com\/index.php\/wp-json\/wp\/v2\/pages\/659\/revisions\/1405"}],"wp:attachment":[{"href":"https:\/\/www.dewatools.com\/index.php\/wp-json\/wp\/v2\/media?parent=659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}