Unir i separar PDF de manera privada: què cal verificar abans de compartir
Unir o separar un PDF no és només moure miniatures. Un PDF pot portar pàgines de formats diferents, enllaços, formularis, metadades, adjunts i signatures. Un flux privat responsable defineix la còpia de sortida, prova primer amb documents sintètics i revisa el fitxer exacte que es lliurarà. El processament al navegador pot evitar una transferència concreta, però no fa anònim, segur o adequat per a qualsevol finalitat un document sensible.
El problema
PDF no és una imatge llarga. L'estàndard ISO 32000 descriu objectes que poden ser compartits entre pàgines: recursos, destinacions, anotacions, camps de formulari i metadades. Per això dues accions anomenades “extreure” poden donar resultats diferents. Extreure la pàgina tres pot crear un document d'una pàgina i deixar un enllaç intern cap a una destinació absent. Unir pot conservar, aplanar, reanomenar o perdre camps de formulari repetits segons la biblioteca. Una previsualització correcta no demostra que s'hagi mantingut l'estructura necessària.
La privacitat demana el mateix rigor. Una eina local pot no enviar el contingut a un servidor per fer l'operació, però no controla extensions, còpies prèvies, descàrregues, receptors ni una plataforma posterior. No feu servir un contracte, expedient o document real d'alt risc per provar una funció. Comenceu amb mostres inventades i seguiu el procediment aprovat quan hi hagi dades personals, secrets, proves o informació regulada.
Exemple pràctic
Suposem agenda-demo.pdf, un expedient sintètic de quatre pàgines: portada A4 vertical, agenda vertical, taula A4 horitzontal i tancament vertical. L'agenda té un enllaç a la taula; la taula té un camp anomenat estat; les metadades diuen Projecte de mostra. annex-demo.pdf té dues pàgines verticals i un altre camp estat. No hi ha cap dada real en l'exemple.
Es vol crear paquet-demo.pdf amb portada, taula horitzontal, primera pàgina de l'annex i agenda, i extreure la taula com taula-demo.pdf. Abans d'editar, anoteu sis pàgines d'entrada, quatre d'esperades al paquet i una a l'extracció. Anoteu orientació, enllaços que han de funcionar, noms de camps, metadades que cal conservar o eliminar, estat de signatura i mida en bytes. Això és una especificació comprovable, no una impressió visual.
Procediment
Conserveu els originals intactes i treballeu amb còpies de nom clar. Obriu cada entrada en un visor i anoteu recompte de pàgines, dimensions o orientació, marcadors, enllaços, formularis, adjunts i avisos de signatura. Si el visor no mostra una característica, escriviu “no comprovada per aquest visor”, no “inexistent”. PDF.js és útil per veure PDF a la web; pdf-lib documenta operacions de creació i còpia. Cap de les dues eines substitueix una revisió adequada al requisit.
Ordeneu per número visible i contingut, no només per posició inicial de miniatura. Exporteu una primera sortida, obriu-la com un fitxer nou, compteu pàgines i reviseu portada, taula i annex. Confirmeu que la pàgina horitzontal no ha estat girada. Activeu cada enllaç important i comproveu la nova destinació. Reviseu els camps: camps iguals de fitxers diferents poden fusionar-se, desaparèixer o entrar en conflicte. Si un camp importa, proveu un valor inventat i deseu una altra còpia de prova.
Per extreure, trieu la pàgina per número i contingut, exporteu-la separadament i torneu a comptar. Reviseu orientació, retall, recursos visuals i enllaços. Compareu mida amb l'entrada, però amb prudència: menys bytes no prova que sigui net, i més bytes pot provenir de fonts, compressió o objectes duplicats. Registreu entrades, ordre sol·licitat, versió d'eina, sortida, data i resultat de cada control.
Explicació tècnica
Les pàgines poden heretar recursos d'un arbre de pàgines. En copiar-les, una implementació pot duplicar recursos o reconstruir referències; per això la mida no és proporcional al recompte. Comparar bytes acostuma a ser inútil: PDFs visualment iguals poden tenir ordre d'objectes i compressió diferents. Compareu les propietats necessàries per a l'ús, i conserveu un hash només si hi ha una referència fiable per a aquest fitxer exacte.
Els enllaços poden ser accions a pàgina, destinacions amb nom, URL o accions no desitjades. Després de reordenar, proveu la navegació rellevant; no pressuposeu que totes les destinacions es reescriuen. Els formularis tenen jerarquia: dos camps estat no són necessàriament la mateixa dada. Reanomenar, aplanar o eliminar formularis és una decisió de contingut. Confirmeu valor visible, edició i comportament després de reobrir.
Les metadades poden incloure títol, autor, assumpte, paraules clau, dates XMP i valors creats per programari. Eliminar-les no treu text de pàgina, noms impresos, enllaços, adjunts ni rastres d'un servei posterior. Les signatures requereixen un control separat: canviar pàgines sol invalidar una signatura. Una sortida amb avís de signatura trencada no és signada; comproveu estat, certificat i abast segons el procediment responsable.
Errors freqüents
Un error habitual és comptar només miniatures. Una vista pot ocultar pàgines, l'ordre pot interpretar-se diferent o l'exportació pot ser parcial. Un altre és substituir tots els controls per “s'obre”. Un PDF es pot obrir i haver perdut camps, destinacions, etiquetes o una signatura vàlida. Proveu cada propietat que sigui requisit real. Si no sabeu si importa, pregunteu abans de transformar l'original.
No pressuposeu que una unió conserva formularis i signatures. Un document signat protegeix una revisió concreta; qualsevol canvi pot activar un avís. No amagueu aquest avís ni presenteu la derivada com a signada. Conserveu l'original signat i creeu una derivada etiquetada només quan el procés ho permeti. Proveu col·lisions de camps amb dades fictícies abans d'usar una plantilla de treball.
També és un error equiparar local amb confidencialitat absoluta. El navegador pot carregar recursos i el dispositiu pot conservar historial, memòria cau o descàrregues. El flux local redueix una transferència; no reemplaça controls de dispositiu, classificació, permisos o canal de lliurament.
Consideracions
Trieu programari després de definir fidelitat. Per a una selecció visual, pot bastar aspecte i ordre. Per a expedients amb enllaços, marcadors, accessibilitat, formularis o signatures, creeu una matriu de requisits i proveu mostres representatives. Els recursos de PDF Association expliquen l'estàndard; la documentació d'una biblioteca explica què pot copiar, no que cobreixi tots els perfils PDF. Una versió nova pot canviar resultats: anoteu-la i repetiu les mostres crítiques.
Separeu prova tècnica i revisió documental. La primera comprova quatre pàgines, una taula horitzontal i enllaços útils. La segona comprova autorització, ordre i conveniència d'eliminar dades. L'automatització pot comptar o comparar dimensions, però no decideix permisos, conservació ni conseqüències legals. Seguiu normes de l'organització i cerqueu assessorament competent per a documents mèdics, laborals, contractuals, judicials o de seguretat.
Limitacions
Aquesta guia no certifica compatibilitat amb tots els productors, lectors, perfils PDF, signatures o tecnologies d'assistència. No garanteix que una biblioteca mantingui cada objecte ni que un visor mostri tots els riscos. No prova autenticitat, confidencialitat, validesa legal ni absència de programari maliciós. Els resultats depenen d'entrades, versió, configuració i destí.
Comprovar recompte, orientació, enllaços, formularis, metadades, signatures i mida redueix errors observables en una sortida. No substitueix custòdia de l'original ni procés del receptor. Davant d'un resultat inesperat, atureu la distribució, conserveu la mostra i torneu a l'original o a una eina aprovada.
Llista de comprovació
Feu servir còpies i documents sintètics. Registreu recompte, ordre, orientació, enllaços, formularis, metadades, signatures i mida abans de canviar res. Definiu sortida i recompte esperat. Uniu o extraieu, obriu el fitxer nou i verifiqueu el fitxer nou, no l'entrada. Activeu enllaços importants, proveu formularis amb valors inventats i considereu invàlida una signatura modificada fins que el procés responsable indiqui el contrari. Decidiu metadades conscientment, conserveu originals i compartiu només la derivada verificada pel canal adequat.