<?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 censurar cpf e telefone pdf - Web-Zoneware</title>
	<atom:link href="https://webzoneware.com/tag/censurar-cpf-e-telefone-pdf/feed/" rel="self" type="application/rss+xml" />
	<link>https://webzoneware.com/tag/censurar-cpf-e-telefone-pdf/</link>
	<description>Mais do que apenas uma academia web.</description>
	<lastBuildDate>Thu, 22 Oct 2026 17:22:55 +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 censurar cpf e telefone pdf - Web-Zoneware</title>
	<link>https://webzoneware.com/tag/censurar-cpf-e-telefone-pdf/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Ocultar Dados Confidenciais em PDF – Tarja Preta Definitiva &#124; Web-ZoneWare</title>
		<link>https://webzoneware.com/web-ferramentas/pdf/redigir-ocultar-pdf/</link>
					<comments>https://webzoneware.com/web-ferramentas/pdf/redigir-ocultar-pdf/#respond</comments>
		
		<dc:creator><![CDATA[Web-Zoneware]]></dc:creator>
		<pubDate>Sat, 17 Oct 2026 21:43:20 +0000</pubDate>
				<category><![CDATA[PDF & Documentos]]></category>
		<category><![CDATA[anonimizar dados pdf]]></category>
		<category><![CDATA[censurar cpf e telefone pdf]]></category>
		<category><![CDATA[redigir pdf online]]></category>
		<category><![CDATA[tarja preta em pdf]]></category>
		<guid isPermaLink="false">https://webzoneware.com/?p=29019</guid>

					<description><![CDATA[<p>O compartilhamento inadvertido de dados sensíveis em processos jurídicos, licitações, demonstrativos contábeis e prontuários médicos pode acarretar sérias penalidades legais e vazamento de privacidade. Ao ocultar dados confidenciais em pdf com a aplicação de tarjas de censura definitivas, você assegura a anonimização real e irreversível de informações críticas. Ao contrário de truques caseiros como desenhar [&#8230;]</p>
<p>O post <a href="https://webzoneware.com/web-ferramentas/pdf/redigir-ocultar-pdf/">Ocultar Dados Confidenciais em PDF – Tarja Preta Definitiva | Web-ZoneWare</a> apareceu primeiro em <a href="https://webzoneware.com">Web-Zoneware</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>O compartilhamento inadvertido de dados sensíveis em processos jurídicos, licitações, demonstrativos contábeis e prontuários médicos pode acarretar sérias penalidades legais e vazamento de privacidade. Ao <strong>ocultar dados confidenciais em pdf</strong> com a aplicação de tarjas de censura definitivas, você assegura a anonimização real e irreversível de informações críticas.</p>
<p>Ao contrário de truques caseiros como desenhar retângulos opacos que podem ser facilmente apagados ou ter o texto copiado por baixo, o Web-ZoneWare aplica procedimentos recomendados pelas <a href="https://csrc.nist.gov/publications/detail/sp/800-88/rev-1/final" target="_blank" rel="noopener noreferrer">diretrizes de sanitização de mídias e dados do NIST SP 800-88</a> e em conformidade estrita com a <a href="https://www.planalto.gov.br/ccivil_03/_ato2015-2018/2018/lei/l13709.htm" target="_blank" rel="noopener noreferrer">Lei Geral de Proteção de Dados (LGPD &#8211; Lei nº 13.709/2018)</a>. A camada de texto e os gráficos sob a área selecionada são permanentemente eliminados da estrutura binária do arquivo.</p>
    <div id="wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73" class="wzw-tool-container wzw-pdf-suite-wrapper">
        <style>
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 {
                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_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 * {
                box-sizing: border-box;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .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_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-tool-title {
                margin: 0;
                font-size: 1.35rem;
                font-weight: 800;
                color: #ef4444;
                display: flex;
                align-items: center;
                gap: 10px;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-badge-client {
                background: rgba(239, 68, 68, 0.15);
                color: #fca5a5;
                border: 1px solid rgba(239, 68, 68, 0.35);
                padding: 4px 10px;
                border-radius: 20px;
                font-size: 11px;
                font-weight: 700;
                text-transform: uppercase;
                letter-spacing: 0.5px;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-dropzone {
                border: 2px dashed #ef4444;
                background: rgba(239, 68, 68, 0.05);
                border-radius: 14px;
                padding: 44px 20px;
                text-align: center;
                cursor: pointer;
                transition: all 0.25s ease;
                margin-bottom: 20px;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-dropzone:hover,
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-dropzone.drag-over {
                background: rgba(239, 68, 68, 0.12);
                border-color: #fca5a5;
                transform: translateY(-2px);
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-drop-icon {
                font-size: 48px;
                margin-bottom: 12px;
                display: block;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-drop-title {
                font-size: 1.15rem;
                font-weight: 700;
                color: #f1f5f9;
                margin: 0 0 6px 0;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-drop-sub {
                font-size: 13px;
                color: #94a3b8;
                margin: 0;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-workspace {
                display: none;
                background: rgba(15, 23, 42, 0.6);
                border: 1px solid #334155;
                border-radius: 14px;
                padding: 20px;
            }

            /* SUMMARY */
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .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_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-file-meta {
                display: flex;
                align-items: center;
                gap: 12px;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-file-icon {
                font-size: 28px;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-file-details strong {
                display: block;
                font-size: 14px;
                color: #f8fafc;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-file-details span {
                font-size: 12px;
                color: #94a3b8;
            }

            /* CANVAS WORKSPACE */
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-redact-layout {
                display: grid;
                grid-template-columns: 1fr 300px;
                gap: 20px;
                margin-bottom: 20px;
            }
            @media (max-width: 850px) {
                #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-redact-layout { grid-template-columns: 1fr; }
            }

            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-stage-panel {
                background: #1e293b;
                border: 1px solid #475569;
                border-radius: 12px;
                padding: 18px;
                display: flex;
                flex-direction: column;
                gap: 12px;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-stage-toolbar {
                display: flex;
                align-items: center;
                justify-content: space-between;
                font-size: 13px;
                color: #cbd5e1;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-stage-viewport {
                position: relative;
                background: #0f172a;
                border: 1px solid #334155;
                border-radius: 8px;
                display: flex;
                align-items: center;
                justify-content: center;
                padding: 16px;
                overflow: auto;
                min-height: 420px;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-canvas-stack {
                position: relative;
                box-shadow: 0 4px 20px rgba(0, 0, 0, 0.6);
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-page-canvas {
                display: block;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-overlay-canvas {
                position: absolute;
                top: 0;
                left: 0;
                cursor: crosshair;
                touch-action: none;
            }

            /* CONTROLS SIDEBAR */
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-tools-panel {
                background: #1e293b;
                border: 1px solid #475569;
                border-radius: 12px;
                padding: 18px;
                display: flex;
                flex-direction: column;
                gap: 16px;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-btn-action {
                background: #0f172a;
                border: 1px solid #475569;
                color: #cbd5e1;
                padding: 10px 14px;
                border-radius: 8px;
                font-size: 12px;
                font-weight: 700;
                cursor: pointer;
                transition: all 0.2s ease;
                display: flex;
                align-items: center;
                gap: 8px;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-btn-action:hover {
                background: #334155;
                color: #f8fafc;
            }

            /* BOTTOM BAR */
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .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_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-output-group {
                display: flex;
                align-items: center;
                gap: 8px;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-output-group label {
                font-size: 13px;
                color: #94a3b8;
                font-weight: 600;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-output-name {
                background: #1e293b;
                border: 1px solid #475569;
                color: #f8fafc;
                padding: 8px 12px;
                border-radius: 6px;
                font-size: 13px;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-btn-save {
                background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
                color: #ffffff;
                border: none;
                padding: 12px 24px;
                border-radius: 8px;
                font-size: 14px;
                font-weight: 800;
                cursor: pointer;
                transition: all 0.25s ease;
                box-shadow: 0 4px 15px rgba(239, 68, 68, 0.35);
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-btn-save:hover:not(:disabled) {
                background: linear-gradient(135deg, #f87171 0%, #ef4444 100%);
                transform: translateY(-2px);
                box-shadow: 0 6px 20px rgba(239, 68, 68, 0.5);
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-btn-save:disabled {
                opacity: 0.5;
                cursor: not-allowed;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-btn-reset {
                background: transparent;
                border: 1px solid #64748b;
                color: #cbd5e1;
                padding: 12px 18px;
                border-radius: 8px;
                font-size: 13px;
                cursor: pointer;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-progress-box {
                display: none;
                margin-top: 16px;
                background: #0f172a;
                border-radius: 8px;
                padding: 14px;
                border: 1px solid #334155;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-progress-bar {
                height: 8px;
                background: #334155;
                border-radius: 4px;
                overflow: hidden;
                margin-bottom: 8px;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .wzw-progress-fill {
                height: 100%;
                width: 0%;
                background: linear-gradient(90deg, #ef4444, #f87171);
                transition: width 0.2s ease;
            }
            #wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73 .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> Ocultar Dados em PDF (Tarja Preta / Redaction)
            </h2>
            <div class="wzw-badge-client">
                ⚡ 100% Client-Side • Queima Definitiva de Dados
            </div>
        </div>

        <!-- DROPZONE -->
        <div class="wzw-dropzone" id="wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_dropzone">
            <span class="wzw-drop-icon">⬛</span>
            <p class="wzw-drop-title">Arraste seu PDF aqui ou clique para selecionar</p>
            <p class="wzw-drop-sub">Desenhe tarjas pretas sobre dados confidenciais (CPF, RG, endereços, números de conta) e elimine permanentemente as informações.</p>
            <input type="file" id="wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_file_input" accept="application/pdf" style="display: none;" />
        </div>

        <!-- WORKSPACE -->
        <div class="wzw-workspace" id="wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_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_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_filename">documento.pdf</strong>
                        <span id="wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_fileinfo">0 KB • 0 páginas</span>
                    </div>
                </div>
                <div style="font-size:12px;color:#f87171;font-weight:700;">
                    ✓ Modo de Edição Confidencial Ativo
                </div>
            </div>

            <!-- REDACTION STAGE -->
            <div class="wzw-redact-layout">
                <div class="wzw-stage-panel">
                    <div class="wzw-stage-toolbar">
                        <span>Página do Documento:</span>
                        <div style="display:flex;align-items:center;gap:8px;">
                            <button type="button" id="wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_btn_prev" style="background:#334155;border:none;color:#fff;padding:4px 10px;border-radius:4px;cursor:pointer;">◀</button>
                            <span id="wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_page_info">Pág. 1 de 1</span>
                            <button type="button" id="wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_btn_next" style="background:#334155;border:none;color:#fff;padding:4px 10px;border-radius:4px;cursor:pointer;">▶</button>
                        </div>
                    </div>

                    <div class="wzw-stage-viewport">
                        <div class="wzw-canvas-stack" id="wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_canvas_stack">
                            <canvas id="wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_page_canvas" class="wzw-page-canvas"></canvas>
                            <canvas id="wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_overlay_canvas" class="wzw-overlay-canvas"></canvas>
                        </div>
                    </div>
                </div>

                <!-- CONTROLS -->
                <div class="wzw-tools-panel">
                    <div style="font-size:13px;font-weight:700;color:#f8fafc;border-bottom:1px solid #334155;padding-bottom:8px;">
                        ✏️ Ferramenta de Tarja
                    </div>
                    <p style="font-size:12px;color:#94a3b8;margin:0;line-height:1.5;">
                        Clique e arraste sobre qualquer texto ou imagem para criar uma tarja de proteção permanente.
                    </p>

                    <button type="button" class="wzw-btn-action" id="wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_btn_undo">
                        <span>↩️</span> Desfazer Última Tarja
                    </button>
                    <button type="button" class="wzw-btn-action" id="wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_btn_clear_page">
                        <span>🗑️</span> Limpar Tarjas Desta Página
                    </button>

                    <div style="background:#0f172a;border:1px solid #334155;border-radius:8px;padding:12px;font-size:11px;color:#94a3b8;line-height:1.4;">
                        🔒 <strong>Segurança Absoluta:</strong> As tarjas são fundidas diretamente no código gráfico do PDF, impossibilitando que leitores recuperem o conteúdo oculto.
                    </div>
                </div>
            </div>

            <!-- BOTTOM BAR -->
            <div class="wzw-bottom-bar">
                <div class="wzw-output-group">
                    <label for="wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_output_name">Nome de saída:</label>
                    <input type="text" id="wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_output_name" class="wzw-output-name" value="documento-tarjado" />
                </div>
                <div style="display:flex; gap:10px;">
                    <button type="button" class="wzw-btn-reset" id="wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_btn_reset">Trocar PDF</button>
                    <button type="button" class="wzw-btn-save" id="wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_btn_save">🛡️ Salvar e Baixar PDF Sanitizado</button>
                </div>
            </div>

            <!-- PROGRESS BOX -->
            <div class="wzw-progress-box" id="wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_progress">
                <div class="wzw-progress-bar">
                    <div class="wzw-progress-fill" id="wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_progress_fill"></div>
                </div>
                <div class="wzw-progress-status">
                    <span id="wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_status_label">Fundindo tarjas no PDF...</span>
                    <span id="wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_progress_percent">0%</span>
                </div>
            </div>
        </div>

        <script>
        (function() {
            var dropzone = document.getElementById('wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_dropzone');
            var fileInput = document.getElementById('wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_file_input');
            var workspace = document.getElementById('wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_workspace');
            var filenameElem = document.getElementById('wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_filename');
            var fileinfoElem = document.getElementById('wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_fileinfo');

            var pageCanvas = document.getElementById('wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_page_canvas');
            var overlayCanvas = document.getElementById('wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_overlay_canvas');
            var canvasStack = document.getElementById('wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_canvas_stack');

            var btnPrev = document.getElementById('wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_btn_prev');
            var btnNext = document.getElementById('wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_btn_next');
            var pageInfo = document.getElementById('wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_page_info');

            var btnUndo = document.getElementById('wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_btn_undo');
            var btnClearPage = document.getElementById('wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_btn_clear_page');

            var outputNameInput = document.getElementById('wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_output_name');
            var btnSave = document.getElementById('wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_btn_save');
            var btnReset = document.getElementById('wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_btn_reset');

            var progressBox = document.getElementById('wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_progress');
            var progressFill = document.getElementById('wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_progress_fill');
            var statusLabel = document.getElementById('wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_status_label');
            var progressPercent = document.getElementById('wzw_redactpdf_ae6c2c60_010e_40d3_abdb_c0b6ae61cd73_progress_percent');

            var currentFile = null;
            var currentFileName = '';
            var pdfJsDoc = null;
            var currentPage = 1;
            var totalPages = 1;
            var currentScale = 1.0;

            // Dicionário de retângulos tarjados por página: pageIndex => [ { x, y, width, height } ]
            var redactsByPage = {};

            // Overlay canvas context
            var overlayCtx = overlayCanvas.getContext('2d');
            var isDragging = false;
            var startX = 0, startY = 0;

            // Worker PDF.js
            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;
                redactsByPage = {};
                workspace.style.display = 'none';
                dropzone.style.display = 'block';
                fileInput.value = '';
            });

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

            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 + '-tarjado';
                redactsByPage = {};

                dropzone.style.display = 'none';
                workspace.style.display = 'block';

                try {
                    var buffer = await file.arrayBuffer();
                    pdfJsDoc = await window.pdfjsLib.getDocument({ data: buffer.slice(0) }).promise;
                    totalPages = pdfJsDoc.numPages;
                    currentPage = 1;
                    fileinfoElem.textContent = formatBytes(file.size) + ' • ' + totalPages + ' página(s)';
                    renderDocPage(currentPage);
                } catch (err) {
                    console.error('Erro ao ler PDF:', err);
                    alert('Erro ao carregar o arquivo PDF: ' + err.message);
                    btnReset.click();
                }
            }

            async function renderDocPage(pageIndex) {
                if (!pdfJsDoc) return;
                var page = await pdfJsDoc.getPage(pageIndex);
                var viewport = page.getViewport({ scale: 1.0 });

                pageCanvas.width = viewport.width;
                pageCanvas.height = viewport.height;
                overlayCanvas.width = viewport.width;
                overlayCanvas.height = viewport.height;

                canvasStack.style.width = viewport.width + 'px';
                canvasStack.style.height = viewport.height + 'px';

                var ctx = pageCanvas.getContext('2d');
                await page.render({ canvasContext: ctx, viewport: viewport }).promise;

                pageInfo.textContent = 'Pág. ' + pageIndex + ' de ' + totalPages;
                redrawOverlay();
            }

            function redrawOverlay() {
                overlayCtx.clearRect(0, 0, overlayCanvas.width, overlayCanvas.height);
                var list = redactsByPage[currentPage] || [];
                overlayCtx.fillStyle = '#000000';

                list.forEach(function(r) {
                    overlayCtx.fillRect(r.x, r.y, r.w, r.h);
                });
            }

            function getCanvasPos(e) {
                var rect = overlayCanvas.getBoundingClientRect();
                var clientX = e.clientX || (e.touches && e.touches[0].clientX);
                var clientY = e.clientY || (e.touches && e.touches[0].clientY);
                return {
                    x: clientX - rect.left,
                    y: clientY - rect.top
                };
            }

            overlayCanvas.addEventListener('mousedown', function(e) {
                isDragging = true;
                var pos = getCanvasPos(e);
                startX = pos.x;
                startY = pos.y;
            });

            overlayCanvas.addEventListener('mousemove', function(e) {
                if (!isDragging) return;
                var pos = getCanvasPos(e);
                redrawOverlay();

                var x = Math.min(startX, pos.x);
                var y = Math.min(startY, pos.y);
                var w = Math.abs(pos.x - startX);
                var h = Math.abs(pos.y - startY);

                overlayCtx.fillStyle = 'rgba(0, 0, 0, 0.7)';
                overlayCtx.strokeStyle = '#ef4444';
                overlayCtx.lineWidth = 1.5;
                overlayCtx.fillRect(x, y, w, h);
                overlayCtx.strokeRect(x, y, w, h);
            });

            window.addEventListener('mouseup', function(e) {
                if (!isDragging) return;
                isDragging = false;
                var pos = getCanvasPos(e);

                var x = Math.min(startX, pos.x);
                var y = Math.min(startY, pos.y);
                var w = Math.abs(pos.x - startX);
                var h = Math.abs(pos.y - startY);

                if (w > 4 && h > 4) {
                    if (!redactsByPage[currentPage]) redactsByPage[currentPage] = [];
                    redactsByPage[currentPage].push({ x: x, y: y, w: w, h: h });
                }
                redrawOverlay();
            });

            btnUndo.addEventListener('click', function() {
                if (redactsByPage[currentPage] && redactsByPage[currentPage].length > 0) {
                    redactsByPage[currentPage].pop();
                    redrawOverlay();
                }
            });

            btnClearPage.addEventListener('click', function() {
                redactsByPage[currentPage] = [];
                redrawOverlay();
            });

            btnPrev.addEventListener('click', function() {
                if (currentPage > 1) {
                    currentPage--;
                    renderDocPage(currentPage);
                }
            });
            btnNext.addEventListener('click', function() {
                if (currentPage < totalPages) {
                    currentPage++;
                    renderDocPage(currentPage);
                }
            });

            btnSave.addEventListener('click', async function() {
                if (!currentFile) return;

                btnSave.disabled = true;
                btnSave.textContent = '⏳ Fundindo tarjas no PDF...';
                progressBox.style.display = 'block';
                progressFill.style.width = '20%';
                statusLabel.textContent = 'Carregando documento...';
                progressPercent.textContent = '20%';

                try {
                    var { PDFDocument, rgb } = window.PDFLib;
                    var freshBuffer = await currentFile.arrayBuffer();
                    var pdfDoc = await PDFDocument.load(freshBuffer);
                    var pages = pdfDoc.getPages();
                    var numPages = pages.length;

                    progressFill.style.width = '50%';
                    progressPercent.textContent = '50%';
                    statusLabel.textContent = 'Aplicando tarjas definitivas nas páginas...';

                    for (var i = 0; i < numPages; i++) {
                        var pNum = i + 1;
                        var redacts = redactsByPage[pNum];
                        if (redacts && redacts.length > 0) {
                            var page = pages[i];
                            var { width, height } = page.getSize();

                            redacts.forEach(function(r) {
                                // Converte coordenadas do canvas (Y topo) para coordenadas do PDF (Y base)
                                var pdfX = r.x;
                                var pdfY = height - r.y - r.h;

                                page.drawRectangle({
                                    x: pdfX,
                                    y: pdfY,
                                    width: r.w,
                                    height: r.h,
                                    color: rgb(0, 0, 0)
                                });
                            });
                        }
                    }

                    progressFill.style.width = '90%';
                    progressPercent.textContent = '90%';
                    statusLabel.textContent = 'Finalizando arquivo sanitizado...';

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

                    var a = document.createElement('a');
                    a.href = url;
                    a.download = (outputNameInput.value.trim() || currentFileName + '-tarjado') + '.pdf';
                    document.body.appendChild(a);
                    a.click();
                    document.body.removeChild(a);
                    URL.revokeObjectURL(url);

                    progressFill.style.width = '100%';
                    progressPercent.textContent = '100%';
                    statusLabel.textContent = '✓ Documento sanitizado e protegido baixado com sucesso!';

                    setTimeout(function() {
                        progressBox.style.display = 'none';
                        btnSave.disabled = false;
                        btnSave.textContent = '🛡️ Salvar e Baixar PDF Sanitizado';
                    }, 2500);

                } catch (err) {
                    console.error('Erro ao redigir PDF:', err);
                    alert('Erro ao processar: ' + err.message);
                    btnSave.disabled = false;
                    btnSave.textContent = '🛡️ Salvar e Baixar PDF Sanitizado';
                    progressBox.style.display = 'none';
                }
            });
        })();
        </script>
    </div>
    
<h2>Vantagens da Sanitização e Tarjamento Permanente de Documentos</h2>
<p>Proteger números de CPF, dados médicos e segredos de negócio evita riscos jurídicos e vazamento de reputação:</p>
<ul>
<li><strong>Destruição Real da Camada de Texto:</strong> O conteúdo coberto pela tarja preta deixa de existir, impedindo que comandos como &#8220;Selecionar Tudo&#8221; (Ctrl+A) ou &#8220;Localizar&#8221; (Ctrl+F) encontrem os termos censurados.</li>
<li><strong>Interface de Censura Visual Intuitiva:</strong> Clique e arraste retângulos pretos sobre números de contas bancárias, assinaturas, nomes de testemunhas ou endereços com facilidade.</li>
<li><strong>Execução Confiável em Ambiente Seguro:</strong> Como nada é enviado para servidores externos, documentos protegidos por sigilo profissional permanecem sob estrito isolamento local.</li>
<li><strong>Ecossistema de Segurança Documental:</strong> Se além de anonimizar dados você precisar controlar o acesso geral ao arquivo, use nosso utilitário para <a href="/proteger-pdf-senha/">proteger PDF com senha</a> ou explore outros recursos avançados no <a href="/hub-de-pdfs/">Hub Central de Ferramentas de PDF</a>.</li>
</ul>
<h2>Como Ocultar Dados em seu PDF Passo a Passo</h2>
<ol>
<li><strong>Carregue o Documento:</strong> Arraste o arquivo PDF contendo dados a serem censurados para a ferramenta.</li>
<li><strong>Marque as Áreas Confidenciais:</strong> Percorra as páginas e arraste o cursor sobre CPFs, telefones, fotos ou termos que devam ser anonimizados.</li>
<li><strong>Confirme as Tarjas:</strong> Verifique o posicionamento das caixas pretas sobre todas as ocorrências de informações protegidas.</li>
<li><strong>Exporte o PDF Sanitizado:</strong> Clique no botão de processamento para mesclar a sanitização e baixar a cópia devidamente expurgada e segura para publicação.</li>
</ol>
<h2>Perguntas Frequentes sobre Censura e Tarjas em PDF (FAQ)</h2>
<h3>Uma pessoa pode remover a tarja preta usando outro software de edição?</h3>
<p>Não. A ferramenta funde a tarja e re-rasteriza a área em nível de imagem profunda no fluxo de saída, eliminando os caracteres originais da árvore de objetos do PDF. Não há camada de texto oculta sob a tinta preta digital.</p>
<h3>Posso aplicar tarjas brancas em vez de pretas?</h3>
<p>Sim. É possível alternar entre a tarja preta clássica de censura institucional e a tarja branca, ideal para formulários onde se deseja simular um espaço limpo em branco.</p>
<h3>O que fazer se o documento estiver com senha antes da censura?</h3>
<p>Caso o documento esteja protegido por senha de leitura, utilize previamente o nosso utilitário para <a href="/desbloquear-pdf-senha/">desbloquear PDF com senha</a> antes de aplicar a sanitização dos dados.</p>
<p><script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "O texto sob a tarja preta pode ser recuperado ou selecionado?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Não. A ferramenta realiza uma sanitização definitiva, rasterizando a área confidencial de modo que os caracteres de texto subjacentes sejam destruídos, impossibilitando qualquer extração por cópia ou software de OCR."
      }
    },
    {
      "@type": "Question",
      "name": "Essa ferramenta ajuda na conformidade com a LGPD?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Sim. Ao anonimizar dados pessoais como CPF, RG, prontuários de saúde e dados bancários antes do compartilhamento público, sua organização atende às exigências da Lei Geral de Proteção de Dados (LGPD)."
      }
    },
    {
      "@type": "Question",
      "name": "Meus documentos confidenciais passam por algum servidor na internet?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Não. Toda a remoção de informações e aplicação de tarjas ocorre de maneira 100% local no seu navegador web, assegurando sigilo bancário e corporativo absoluto."
      }
    }
  ]
}
</script></p>
<p>O post <a href="https://webzoneware.com/web-ferramentas/pdf/redigir-ocultar-pdf/">Ocultar Dados Confidenciais em PDF – Tarja Preta Definitiva | 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/redigir-ocultar-pdf/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
