<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arquivos salvar paginas pdf zip - Web-Zoneware</title>
	<atom:link href="https://webzoneware.com/tag/salvar-paginas-pdf-zip/feed/" rel="self" type="application/rss+xml" />
	<link>https://webzoneware.com/tag/salvar-paginas-pdf-zip/</link>
	<description>Mais do que apenas uma academia web.</description>
	<lastBuildDate>Thu, 22 Oct 2026 17:25:21 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://webzoneware.com/wp-content/uploads/icon-webzoneware-150x150.png</url>
	<title>Arquivos salvar paginas pdf zip - Web-Zoneware</title>
	<link>https://webzoneware.com/tag/salvar-paginas-pdf-zip/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Extrair Páginas do PDF Online: Salvar em PDF ou ZIP &#124; Web-ZoneWare</title>
		<link>https://webzoneware.com/web-ferramentas/pdf/extrair-paginas-pdf/</link>
					<comments>https://webzoneware.com/web-ferramentas/pdf/extrair-paginas-pdf/#respond</comments>
		
		<dc:creator><![CDATA[Web-Zoneware]]></dc:creator>
		<pubDate>Sat, 17 Oct 2026 01:22:22 +0000</pubDate>
				<category><![CDATA[PDF & Documentos]]></category>
		<category><![CDATA[exportar paginas selecionadas pdf]]></category>
		<category><![CDATA[extrair folhas pdf]]></category>
		<category><![CDATA[extrair paginas pdf]]></category>
		<category><![CDATA[salvar paginas pdf zip]]></category>
		<category><![CDATA[separar paginas pdf]]></category>
		<guid isPermaLink="false">https://webzoneware.com/?p=28991</guid>

					<description><![CDATA[<p>Extração de Páginas de Arquivos PDF com Alta Precisão Quando você precisa destacar apenas capítulos específicos de um livro, comprovantes de um extrato anual ou laudas pontuais de um processo jurídico, a ferramenta Extrair Páginas do PDF oferece duas modalidades práticas de exportação: Modo Consolidado (1 PDF Único): Junta todas as páginas que você selecionou [&#8230;]</p>
<p>O post <a href="https://webzoneware.com/web-ferramentas/pdf/extrair-paginas-pdf/">Extrair Páginas do PDF Online: Salvar em PDF ou ZIP | Web-ZoneWare</a> apareceu primeiro em <a href="https://webzoneware.com">Web-Zoneware</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Extração de Páginas de Arquivos PDF com Alta Precisão</h2>
<p>Quando você precisa destacar apenas capítulos específicos de um livro, comprovantes de um extrato anual ou laudas pontuais de um processo jurídico, a ferramenta <strong>Extrair Páginas do PDF</strong> oferece duas modalidades práticas de exportação:</p>
    <div id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76" class="wzw-tool-container wzw-pdf-suite-wrapper">
        <style>
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 {
                background: linear-gradient(145deg, #0f172a 0%, #1e293b 100%);
                color: #f8fafc;
                border-radius: 16px;
                padding: 24px;
                box-shadow: 0 12px 35px rgba(0, 0, 0, 0.35);
                border: 1px solid #334155;
                font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
                margin: 20px 0 35px 0;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 * {
                box-sizing: border-box;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-tool-header {
                display: flex;
                align-items: center;
                justify-content: space-between;
                flex-wrap: wrap;
                gap: 12px;
                margin-bottom: 20px;
                padding-bottom: 16px;
                border-bottom: 1px solid rgba(255, 255, 255, 0.1);
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-tool-title {
                margin: 0;
                font-size: 1.35rem;
                font-weight: 800;
                color: #10b981;
                display: flex;
                align-items: center;
                gap: 10px;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-badge-client {
                background: rgba(16, 185, 129, 0.15);
                color: #34d399;
                border: 1px solid rgba(16, 185, 129, 0.35);
                padding: 4px 10px;
                border-radius: 20px;
                font-size: 11px;
                font-weight: 700;
                text-transform: uppercase;
                letter-spacing: 0.5px;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-dropzone {
                border: 2px dashed #10b981;
                background: rgba(16, 185, 129, 0.05);
                border-radius: 14px;
                padding: 44px 20px;
                text-align: center;
                cursor: pointer;
                transition: all 0.25s ease;
                margin-bottom: 20px;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-dropzone:hover,
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-dropzone.drag-over {
                background: rgba(16, 185, 129, 0.12);
                border-color: #6ee7b7;
                transform: translateY(-2px);
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-drop-icon {
                font-size: 48px;
                margin-bottom: 12px;
                display: block;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-drop-title {
                font-size: 1.15rem;
                font-weight: 700;
                color: #f1f5f9;
                margin: 0 0 6px 0;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-drop-sub {
                font-size: 13px;
                color: #94a3b8;
                margin: 0;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-workspace {
                display: none;
                background: rgba(15, 23, 42, 0.6);
                border: 1px solid #334155;
                border-radius: 14px;
                padding: 20px;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-file-summary {
                display: flex;
                align-items: center;
                justify-content: space-between;
                background: #1e293b;
                border: 1px solid #475569;
                border-radius: 10px;
                padding: 12px 18px;
                margin-bottom: 20px;
                flex-wrap: wrap;
                gap: 12px;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-file-meta {
                display: flex;
                align-items: center;
                gap: 12px;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-file-icon {
                font-size: 28px;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-file-details strong {
                display: block;
                font-size: 14px;
                color: #f8fafc;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-file-details span {
                font-size: 12px;
                color: #94a3b8;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-counter-badges {
                display: flex;
                gap: 8px;
                flex-wrap: wrap;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-badge-stat {
                padding: 5px 10px;
                border-radius: 6px;
                font-size: 12px;
                font-weight: 700;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-badge-total { background: #334155; color: #cbd5e1; }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-badge-selected { background: rgba(16, 185, 129, 0.2); color: #34d399; border: 1px solid rgba(16, 185, 129, 0.4); }

            /* MODE CARDS */
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-modes-container {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 14px;
                margin-bottom: 18px;
            }
            @media (max-width: 640px) {
                #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-modes-container { grid-template-columns: 1fr; }
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-mode-card {
                background: #1e293b;
                border: 2px solid #334155;
                border-radius: 10px;
                padding: 14px;
                cursor: pointer;
                transition: all 0.2s ease;
                display: flex;
                align-items: flex-start;
                gap: 12px;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-mode-card:hover {
                border-color: #64748b;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-mode-card.active {
                border-color: #10b981;
                background: rgba(16, 185, 129, 0.1);
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-mode-radio {
                accent-color: #10b981;
                margin-top: 3px;
                cursor: pointer;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-mode-info strong {
                display: block;
                font-size: 14px;
                color: #f8fafc;
                margin-bottom: 4px;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-mode-info p {
                margin: 0;
                font-size: 12px;
                color: #94a3b8;
                line-height: 1.4;
            }

            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-toolbar {
                display: flex;
                align-items: center;
                justify-content: space-between;
                flex-wrap: wrap;
                gap: 10px;
                margin-bottom: 16px;
                background: #1e293b;
                padding: 10px 14px;
                border-radius: 8px;
                border: 1px solid #334155;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-tool-actions {
                display: flex;
                gap: 8px;
                flex-wrap: wrap;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-btn-sm {
                background: #334155;
                color: #f8fafc;
                border: 1px solid #475569;
                padding: 6px 12px;
                border-radius: 6px;
                font-size: 12px;
                font-weight: 600;
                cursor: pointer;
                transition: all 0.2s ease;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-btn-sm:hover {
                background: #475569;
                color: #fff;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-range-box {
                display: flex;
                align-items: center;
                gap: 6px;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-input-range {
                background: #0f172a;
                border: 1px solid #475569;
                color: #f8fafc;
                padding: 5px 10px;
                border-radius: 6px;
                font-size: 12px;
                width: 140px;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-pages-grid {
                display: grid;
                grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
                gap: 16px;
                max-height: 480px;
                overflow-y: auto;
                background: #020617;
                border: 1px solid #334155;
                border-radius: 10px;
                padding: 16px;
                margin-bottom: 20px;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-page-card {
                background: #1e293b;
                border: 2px solid #334155;
                border-radius: 8px;
                padding: 8px;
                text-align: center;
                cursor: pointer;
                transition: all 0.2s ease;
                user-select: none;
                position: relative;
                overflow: hidden;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-page-card:hover {
                border-color: #10b981;
                transform: translateY(-2px);
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-page-card.is-selected {
                border-color: #10b981;
                background: rgba(16, 185, 129, 0.12);
                box-shadow: 0 0 12px rgba(16, 185, 129, 0.25);
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-check-badge {
                position: absolute;
                top: 8px;
                right: 8px;
                width: 22px;
                height: 22px;
                border-radius: 50%;
                background: #334155;
                color: #cbd5e1;
                display: flex;
                align-items: center;
                justify-content: center;
                font-size: 12px;
                font-weight: bold;
                border: 1px solid #475569;
                z-index: 4;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-page-card.is-selected .wzw-check-badge {
                background: #10b981;
                color: #020617;
                border-color: #34d399;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-thumb-wrapper {
                background: #fff;
                border-radius: 4px;
                overflow: hidden;
                box-shadow: 0 4px 10px rgba(0,0,0,0.3);
                aspect-ratio: 1 / 1.414;
                display: flex;
                align-items: center;
                justify-content: center;
                margin-bottom: 8px;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-thumb-canvas {
                max-width: 100%;
                max-height: 100%;
                display: block;
                object-fit: contain;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-page-num-badge {
                display: inline-block;
                background: #0f172a;
                color: #e2e8f0;
                padding: 3px 8px;
                border-radius: 4px;
                font-size: 11px;
                font-weight: 700;
                border: 1px solid #334155;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-bottom-bar {
                display: flex;
                align-items: center;
                justify-content: space-between;
                flex-wrap: wrap;
                gap: 16px;
                padding-top: 16px;
                border-top: 1px solid #334155;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-output-group {
                display: flex;
                align-items: center;
                gap: 8px;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-output-group label {
                font-size: 13px;
                color: #94a3b8;
                font-weight: 600;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-output-name {
                background: #1e293b;
                border: 1px solid #475569;
                color: #f8fafc;
                padding: 8px 12px;
                border-radius: 6px;
                font-size: 13px;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-btn-save {
                background: linear-gradient(135deg, #10b981 0%, #059669 100%);
                color: #ffffff;
                border: none;
                padding: 12px 24px;
                border-radius: 8px;
                font-size: 14px;
                font-weight: 700;
                cursor: pointer;
                transition: all 0.25s ease;
                box-shadow: 0 4px 15px rgba(16, 185, 129, 0.35);
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-btn-save:hover:not(:disabled) {
                background: linear-gradient(135deg, #34d399 0%, #10b981 100%);
                transform: translateY(-2px);
                box-shadow: 0 6px 20px rgba(16, 185, 129, 0.5);
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-btn-save:disabled {
                opacity: 0.5;
                cursor: not-allowed;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-btn-reset {
                background: transparent;
                border: 1px solid #64748b;
                color: #cbd5e1;
                padding: 12px 18px;
                border-radius: 8px;
                font-size: 13px;
                cursor: pointer;
                transition: all 0.2s ease;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-btn-reset:hover {
                background: #334155;
                color: #fff;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-progress-box {
                display: none;
                margin-top: 16px;
                background: #0f172a;
                border-radius: 8px;
                padding: 14px;
                border: 1px solid #334155;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-progress-bar {
                height: 8px;
                background: #334155;
                border-radius: 4px;
                overflow: hidden;
                margin-bottom: 8px;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-progress-fill {
                height: 100%;
                width: 0%;
                background: linear-gradient(90deg, #10b981, #34d399);
                transition: width 0.2s ease;
            }
            #wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76 .wzw-progress-status {
                display: flex;
                justify-content: space-between;
                font-size: 12px;
                color: #94a3b8;
            }
        </style>

        <div class="wzw-tool-header">
            <h2 class="wzw-tool-title">
                <span>✂️</span> Extrair Páginas do PDF Online
            </h2>
            <div class="wzw-badge-client">
                🔒 100% Client-Side • Privacidade Total
            </div>
        </div>

        <!-- DROPZONE -->
        <div class="wzw-dropzone" id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_dropzone">
            <span class="wzw-drop-icon">📑</span>
            <p class="wzw-drop-title">Arraste seu arquivo PDF aqui ou clique para selecionar</p>
            <p class="wzw-drop-sub">Processamento seguro e privado no seu navegador. Escolha páginas para extrair em PDF único ou ZIP individual.</p>
            <input type="file" id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_file_input" accept="application/pdf" style="display: none;" />
        </div>

        <!-- WORKSPACE -->
        <div class="wzw-workspace" id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_workspace">
            <div class="wzw-file-summary">
                <div class="wzw-file-meta">
                    <span class="wzw-file-icon">📄</span>
                    <div class="wzw-file-details">
                        <strong id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_filename">documento.pdf</strong>
                        <span id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_fileinfo">0 KB • 0 páginas</span>
                    </div>
                </div>
                <div class="wzw-counter-badges">
                    <span class="wzw-badge-stat wzw-badge-total" id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_stat_total">Total: 0</span>
                    <span class="wzw-badge-stat wzw-badge-selected" id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_stat_selected">Selecionadas: 0</span>
                </div>
            </div>

            <!-- OPÇÕES DE MODO DE EXTRAÇÃO -->
            <div class="wzw-modes-container">
                <div class="wzw-mode-card active" id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_mode_merged_card">
                    <input type="radio" name="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_mode" id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_mode_merged" value="merged" class="wzw-mode-radio" checked />
                    <div class="wzw-mode-info">
                        <strong>📑 Extrair em 1 Único Arquivo PDF</strong>
                        <p>Combina todas as páginas selecionadas em um novo documento PDF consolidado.</p>
                    </div>
                </div>
                <div class="wzw-mode-card" id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_mode_zip_card">
                    <input type="radio" name="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_mode" id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_mode_zip" value="zip" class="wzw-mode-radio" />
                    <div class="wzw-mode-info">
                        <strong>📦 Extrair em PDFs Separados (.ZIP)</strong>
                        <p>Cada página selecionada se torna um arquivo PDF individual dentro de um pacote .ZIP.</p>
                    </div>
                </div>
            </div>

            <!-- TOOLBAR -->
            <div class="wzw-toolbar">
                <div class="wzw-tool-actions">
                    <button type="button" class="wzw-btn-sm" id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_btn_all">Todas</button>
                    <button type="button" class="wzw-btn-sm" id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_btn_clear">Limpar</button>
                    <button type="button" class="wzw-btn-sm" id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_btn_invert">Inverter</button>
                    <button type="button" class="wzw-btn-sm" id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_btn_even">Pares</button>
                    <button type="button" class="wzw-btn-sm" id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_btn_odd">Ímpares</button>
                </div>
                <div class="wzw-range-box">
                    <input type="text" class="wzw-input-range" id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_range_input" placeholder="Ex: 1, 3-5, 8" />
                    <button type="button" class="wzw-btn-sm" id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_btn_apply_range">Selecionar Intervalo</button>
                </div>
            </div>

            <!-- GRID DE PÁGINAS -->
            <div class="wzw-pages-grid" id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_grid">
                <!-- Miniaturas geradas via JavaScript -->
            </div>

            <!-- BOTTOM BAR -->
            <div class="wzw-bottom-bar">
                <div class="wzw-output-group">
                    <label for="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_output_name">Nome base de saída:</label>
                    <input type="text" id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_output_name" class="wzw-output-name" value="documento-paginas-extraidas" />
                </div>
                <div style="display:flex; gap:10px;">
                    <button type="button" class="wzw-btn-reset" id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_btn_reset">Trocar PDF</button>
                    <button type="button" class="wzw-btn-save" id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_btn_save">📥 Extrair e Baixar Páginas</button>
                </div>
            </div>

            <!-- PROGRESS BOX -->
            <div class="wzw-progress-box" id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_progress">
                <div class="wzw-progress-bar">
                    <div class="wzw-progress-fill" id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_progress_fill"></div>
                </div>
                <div class="wzw-progress-status">
                    <span id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_status_label">Processando...</span>
                    <span id="wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_progress_percent">0%</span>
                </div>
            </div>
        </div>

        <script>
        (function() {
            var dropzone = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_dropzone');
            var fileInput = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_file_input');
            var workspace = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_workspace');
            var grid = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_grid');
            var filenameElem = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_filename');
            var fileinfoElem = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_fileinfo');
            var outputNameInput = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_output_name');
            var btnSave = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_btn_save');
            var btnReset = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_btn_reset');
            var progressBox = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_progress');
            var progressFill = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_progress_fill');
            var statusLabel = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_status_label');
            var progressPercent = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_progress_percent');

            var statTotal = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_stat_total');
            var statSelected = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_stat_selected');

            var modeMergedRadio = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_mode_merged');
            var modeZipRadio = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_mode_zip');
            var modeMergedCard = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_mode_merged_card');
            var modeZipCard = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_mode_zip_card');

            var btnAll = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_btn_all');
            var btnClear = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_btn_clear');
            var btnInvert = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_btn_invert');
            var btnEven = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_btn_even');
            var btnOdd = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_btn_odd');
            var btnApplyRange = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_btn_apply_range');
            var rangeInput = document.getElementById('wzw_extpdf_a98902c6_1012_47b8_a4dd_9322d3838e76_range_input');

            var currentFile = null;
            var currentFileName = '';
            var totalPagesCount = 0;
            var selectedPagesSet = new Set(); // 0-indexed page numbers to extract

            // Mode selection card styling
            function setMode(mode) {
                if (mode === 'merged') {
                    modeMergedRadio.checked = true;
                    modeMergedCard.classList.add('active');
                    modeZipCard.classList.remove('active');
                } else {
                    modeZipRadio.checked = true;
                    modeZipCard.classList.add('active');
                    modeMergedCard.classList.remove('active');
                }
                updateButtonLabel();
            }

            modeMergedCard.addEventListener('click', function() { setMode('merged'); });
            modeZipCard.addEventListener('click', function() { setMode('zip'); });
            modeMergedRadio.addEventListener('change', function() { setMode('merged'); });
            modeZipRadio.addEventListener('change', function() { setMode('zip'); });

            // Setup PDF.js worker
            if (window.pdfjsLib && !window.pdfjsLib.GlobalWorkerOptions.workerSrc) {
                window.pdfjsLib.GlobalWorkerOptions.workerSrc = 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/3.11.174/pdf.worker.min.js';
            }

            dropzone.addEventListener('click', function() { fileInput.click(); });
            dropzone.addEventListener('dragover', function(e) { e.preventDefault(); dropzone.classList.add('drag-over'); });
            dropzone.addEventListener('dragleave', function() { dropzone.classList.remove('drag-over'); });
            dropzone.addEventListener('drop', function(e) {
                e.preventDefault();
                dropzone.classList.remove('drag-over');
                if (e.dataTransfer.files && e.dataTransfer.files[0]) {
                    handleFile(e.dataTransfer.files[0]);
                }
            });

            fileInput.addEventListener('change', function(e) {
                if (e.target.files && e.target.files[0]) {
                    handleFile(e.target.files[0]);
                }
            });

            btnReset.addEventListener('click', function() {
                currentFile = null;
                totalPagesCount = 0;
                selectedPagesSet.clear();
                grid.innerHTML = '';
                workspace.style.display = 'none';
                dropzone.style.display = 'block';
                fileInput.value = '';
            });

            function formatBytes(bytes) {
                if (bytes === 0) return '0 Bytes';
                var k = 1024;
                var sizes = ['Bytes', 'KB', 'MB', 'GB'];
                var i = Math.floor(Math.log(bytes) / Math.log(k));
                return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
            }

            function updateButtonLabel() {
                var count = selectedPagesSet.size;
                if (count === 0) {
                    btnSave.disabled = true;
                    btnSave.textContent = '⚠️ Selecione pelo menos 1 página para extrair';
                } else {
                    btnSave.disabled = false;
                    var mode = modeMergedRadio.checked ? 'merged' : 'zip';
                    if (mode === 'merged') {
                        btnSave.textContent = '📥 Baixar ' + count + ' Página(s) em 1 PDF';
                    } else {
                        btnSave.textContent = '📦 Baixar ' + count + ' Página(s) em Arquivo .ZIP';
                    }
                }
            }

            function updateStats() {
                statTotal.textContent = 'Total: ' + totalPagesCount;
                statSelected.textContent = 'Selecionadas: ' + selectedPagesSet.size;
                updateButtonLabel();
            }

            function syncCards() {
                var cards = grid.querySelectorAll('.wzw-page-card');
                cards.forEach(function(card) {
                    var idx = parseInt(card.getAttribute('data-page-index'), 10);
                    var checkBadge = card.querySelector('.wzw-check-badge');
                    if (selectedPagesSet.has(idx)) {
                        card.classList.add('is-selected');
                        if (checkBadge) checkBadge.textContent = '✓';
                    } else {
                        card.classList.remove('is-selected');
                        if (checkBadge) checkBadge.textContent = '+';
                    }
                });
                updateStats();
            }

            // Quick toolbar actions
            btnAll.addEventListener('click', function() {
                for (var i = 0; i < totalPagesCount; i++) {
                    selectedPagesSet.add(i);
                }
                syncCards();
            });

            btnClear.addEventListener('click', function() {
                selectedPagesSet.clear();
                syncCards();
            });

            btnInvert.addEventListener('click', function() {
                var newSet = new Set();
                for (var i = 0; i < totalPagesCount; i++) {
                    if (!selectedPagesSet.has(i)) {
                        newSet.add(i);
                    }
                }
                selectedPagesSet = newSet;
                syncCards();
            });

            btnEven.addEventListener('click', function() {
                selectedPagesSet.clear();
                for (var i = 0; i < totalPagesCount; i++) {
                    if ((i + 1) % 2 === 0) {
                        selectedPagesSet.add(i);
                    }
                }
                syncCards();
            });

            btnOdd.addEventListener('click', function() {
                selectedPagesSet.clear();
                for (var i = 0; i < totalPagesCount; i++) {
                    if ((i + 1) % 2 !== 0) {
                        selectedPagesSet.add(i);
                    }
                }
                syncCards();
            });

            btnApplyRange.addEventListener('click', function() {
                var val = rangeInput.value.trim();
                if (!val) return;

                var parts = val.split(',');
                parts.forEach(function(part) {
                    part = part.trim();
                    if (part.indexOf('-') !== -1) {
                        var range = part.split('-');
                        var start = parseInt(range[0], 10);
                        var end = parseInt(range[1], 10);
                        if (!isNaN(start) && !isNaN(end)) {
                            var min = Math.min(start, end);
                            var max = Math.max(start, end);
                            for (var p = min; p <= max; p++) {
                                if (p >= 1 && p <= totalPagesCount) {
                                    selectedPagesSet.add(p - 1);
                                }
                            }
                        }
                    } else {
                        var pNum = parseInt(part, 10);
                        if (!isNaN(pNum) && pNum >= 1 && pNum <= totalPagesCount) {
                            selectedPagesSet.add(pNum - 1);
                        }
                    }
                });
                syncCards();
            });

            async function handleFile(file) {
                if (file.type !== 'application/pdf' && !file.name.toLowerCase().endsWith('.pdf')) {
                    alert('Por favor, selecione um arquivo no formato PDF válido.');
                    return;
                }

                currentFile = file;
                currentFileName = file.name.replace(/\.[^/.]+$/, '');
                filenameElem.textContent = file.name;
                outputNameInput.value = currentFileName + '-extraido';

                dropzone.style.display = 'none';
                workspace.style.display = 'block';
                progressBox.style.display = 'block';
                progressFill.style.width = '10%';
                statusLabel.textContent = 'Carregando documento PDF...';
                progressPercent.textContent = '10%';

                try {
                    var pdfjsBuffer = await file.arrayBuffer();
                    var loadingTask = window.pdfjsLib.getDocument({ data: pdfjsBuffer.slice(0) });
                    var pdf = await loadingTask.promise;

                    totalPagesCount = pdf.numPages;
                    fileinfoElem.textContent = formatBytes(file.size) + ' • ' + totalPagesCount + ' página(s)';

                    grid.innerHTML = '';
                    selectedPagesSet.clear();

                    for (var pageNum = 1; pageNum <= totalPagesCount; pageNum++) {
                        var pct = 10 + Math.floor((pageNum / totalPagesCount) * 80);
                        progressFill.style.width = pct + '%';
                        progressPercent.textContent = pct + '%';
                        statusLabel.textContent = 'Renderizando miniatura ' + pageNum + ' de ' + totalPagesCount + '...';

                        var page = await pdf.getPage(pageNum);
                        var viewport = page.getViewport({ scale: 0.35 });

                        var canvas = document.createElement('canvas');
                        var ctx = canvas.getContext('2d');
                        canvas.height = viewport.height;
                        canvas.width = viewport.width;
                        canvas.className = 'wzw-thumb-canvas';

                        await page.render({ canvasContext: ctx, viewport: viewport }).promise;

                        var card = document.createElement('div');
                        card.className = 'wzw-page-card';
                        card.setAttribute('data-page-index', (pageNum - 1).toString());

                        var checkBadge = document.createElement('span');
                        checkBadge.className = 'wzw-check-badge';
                        checkBadge.textContent = '+';

                        var thumbWrapper = document.createElement('div');
                        thumbWrapper.className = 'wzw-thumb-wrapper';
                        thumbWrapper.appendChild(canvas);

                        var badge = document.createElement('span');
                        badge.className = 'wzw-page-num-badge';
                        badge.textContent = 'Página ' + pageNum;

                        card.appendChild(checkBadge);
                        card.appendChild(thumbWrapper);
                        card.appendChild(badge);

                        card.addEventListener('click', function() {
                            var pIdx = parseInt(this.getAttribute('data-page-index'), 10);
                            if (selectedPagesSet.has(pIdx)) {
                                selectedPagesSet.delete(pIdx);
                            } else {
                                selectedPagesSet.add(pIdx);
                            }
                            syncCards();
                        });

                        grid.appendChild(card);
                    }

                    updateStats();
                    progressFill.style.width = '100%';
                    progressPercent.textContent = '100%';
                    statusLabel.textContent = '✓ Miniaturas prontas! Clique nas páginas que deseja extrair.';

                    setTimeout(function() {
                        progressBox.style.display = 'none';
                    }, 1200);

                } catch (err) {
                    console.error('Erro ao ler PDF:', err);
                    alert('Erro ao processar o arquivo PDF: ' + err.message);
                    btnReset.click();
                }
            }

            // Extração e download
            btnSave.addEventListener('click', async function() {
                var count = selectedPagesSet.size;
                if (count === 0) {
                    alert('Selecione pelo menos 1 página para extrair.');
                    return;
                }

                var isZipMode = modeZipRadio.checked;
                var baseName = outputNameInput.value.trim() || currentFileName + '-extraido';

                if (!currentFile) {
                    alert('Carregue um arquivo PDF antes de extrair.');
                    return;
                }

                btnSave.disabled = true;
                btnSave.textContent = '⏳ Extraindo páginas...';
                progressBox.style.display = 'block';
                progressFill.style.width = '20%';
                statusLabel.textContent = 'Preparando documento fonte...';
                progressPercent.textContent = '20%';

                try {
                    var { PDFDocument } = window.PDFLib;
                    var freshBuffer = await currentFile.arrayBuffer();
                    var srcDoc = await PDFDocument.load(freshBuffer);

                    // Converte o conjunto ordenado de índices de páginas selecionadas
                    var pagesToExtract = Array.from(selectedPagesSet).sort(function(a, b) { return a - b; });

                    if (!isZipMode) {
                        // MODO 1: PDF ÚNICO CONSOLIDADO
                        statusLabel.textContent = 'Copiando páginas para o novo PDF consolidado...';
                        progressFill.style.width = '50%';
                        progressPercent.textContent = '50%';

                        var newDoc = await PDFDocument.create();
                        var copiedPages = await newDoc.copyPages(srcDoc, pagesToExtract);
                        copiedPages.forEach(function(p) {
                            newDoc.addPage(p);
                        });

                        progressFill.style.width = '85%';
                        progressPercent.textContent = '85%';
                        statusLabel.textContent = 'Gerando arquivo PDF consolidado...';

                        var pdfBytes = await newDoc.save();
                        var blob = new Blob([pdfBytes], { type: 'application/pdf' });
                        var url = URL.createObjectURL(blob);

                        var a = document.createElement('a');
                        a.href = url;
                        a.download = baseName + '.pdf';
                        document.body.appendChild(a);
                        a.click();
                        document.body.removeChild(a);
                        URL.revokeObjectURL(url);

                    } else {
                        // MODO 2: PACOTE .ZIP COM CADA PÁGINA EM SEU PRÓPRIO PDF
                        if (!window.JSZip) {
                            throw new Error('Biblioteca JSZip não encontrada.');
                        }

                        var zip = new window.JSZip();

                        for (var i = 0; i < pagesToExtract.length; i++) {
                            var pageIndex = pagesToExtract[i];
                            var visualPageNum = pageIndex + 1;

                            var pct = 20 + Math.floor(((i + 1) / pagesToExtract.length) * 65);
                            progressFill.style.width = pct + '%';
                            progressPercent.textContent = pct + '%';
                            statusLabel.textContent = 'Gerando PDF individual da página ' + visualPageNum + ' (' + (i + 1) + ' de ' + pagesToExtract.length + ')...';

                            var singleDoc = await PDFDocument.create();
                            var singleCopied = await singleDoc.copyPages(srcDoc, [pageIndex]);
                            singleDoc.addPage(singleCopied[0]);

                            var singleBytes = await singleDoc.save();
                            var singleFilename = baseName + '-pagina-' + visualPageNum + '.pdf';
                            zip.file(singleFilename, singleBytes);
                        }

                        statusLabel.textContent = 'Comprimindo arquivos no pacote .ZIP...';
                        progressFill.style.width = '90%';
                        progressPercent.textContent = '90%';

                        var zipBlob = await zip.generateAsync({ type: 'blob' });
                        var zipUrl = URL.createObjectURL(zipBlob);

                        var aZip = document.createElement('a');
                        aZip.href = zipUrl;
                        aZip.download = baseName + '.zip';
                        document.body.appendChild(aZip);
                        aZip.click();
                        document.body.removeChild(aZip);
                        URL.revokeObjectURL(zipUrl);
                    }

                    progressFill.style.width = '100%';
                    progressPercent.textContent = '100%';
                    statusLabel.textContent = '✓ Extração concluída e baixada com sucesso!';

                    setTimeout(function() {
                        progressBox.style.display = 'none';
                        btnSave.disabled = false;
                        updateStats();
                    }, 2000);

                } catch (err) {
                    console.error('Erro na extração:', err);
                    alert('Erro ao extrair páginas: ' + err.message);
                    btnSave.disabled = false;
                    updateStats();
                    progressBox.style.display = 'none';
                }
            });
        })();
        </script>
    </div>
    
<ul>
<li><strong>Modo Consolidado (1 PDF Único):</strong> Junta todas as páginas que você selecionou em uma nova ordem compacta em um único arquivo PDF.</li>
<li><strong>Modo Separado (.ZIP Individual):</strong> Salva cada página escolhida em seu próprio arquivo PDF independente e compacta tudo em um pacote <code>.zip</code> pronto para arquivamento ou envio.</li>
</ul>
<h3>Preservação Vetorial com Base no Padrão ISO 32000</h3>
<p>A extração realizada no Web-ZoneWare não realiza conversão rasterizada das páginas. Toda a estrutura de objetos descrita pela <a href="https://www.adobe.com/devnet/pdf/pdf_reference.html" target="_blank" rel="noopener noreferrer">especificação técnica da Adobe e ISO</a> é mantida, assegurando nitidez cristalina, seleção de textos e links clicáveis.</p>
<p>Confira também o nosso <a href="/web-ferramentas/dividir-pdf/">divisor avançado de PDFs</a> ou integre imagens aos seus documentos através do <a href="/ferramentas-de-imagens/">Hub de Ferramentas de Imagens</a>.</p>
<p><script>
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Qual a diferença entre extrair em PDF único ou em ZIP?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "O PDF único reúne as páginas escolhidas em uma sequência em um só arquivo. O pacote ZIP gera um PDF exclusivo para cada página selecionada, ideal quando você precisa distribuir páginas para pessoas diferentes."
      }
    },
    {
      "@type": "Question",
      "name": "Há limite de páginas para extrair?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Não há limite imposto pelo site. Como o processamento ocorre no próprio hardware do usuário, o sistema suporta documentos de centenas de páginas com alta fluidez."
      }
    }
  ]
}
</script></p>
<p>O post <a href="https://webzoneware.com/web-ferramentas/pdf/extrair-paginas-pdf/">Extrair Páginas do PDF Online: Salvar em PDF ou ZIP | Web-ZoneWare</a> apareceu primeiro em <a href="https://webzoneware.com">Web-Zoneware</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webzoneware.com/web-ferramentas/pdf/extrair-paginas-pdf/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
