Existe-t-il un meilleur moyen de supprimer un PDF?

25

J'ai dû imprimer quelques PDF récemment pour l'envoyer à quelqu'un, mais je voulais supprimer (noircir) quelques petits morceaux de texte.

Une recherche rapide sur Google n'a trouvé aucun outil dans ce but spécifique, je suis donc revenu à imagemagick & gimp:

  • convert document.pdf document.png
  • gimp document-0.png
  • (utilisez un pinceau pour noircir le texte)
  • imprimer la page expurgée de gimp
  • imprimer les pages restantes à partir de xpdf

Le problème avec cette stratégie est que le processus de conversion (du PDF au PNG ou tout autre format) perd en qualité. J'ai essayé d'éditer le PDF dans gimp mais cela n'a pas fonctionné tout de suite.

Existe-t-il un outil spécifique permettant la rédaction de cette manière? (Il n'est même pas nécessaire que ce soit une "vraie" rédaction - je n'envoie pas de copie électronique, donc la "fausse" rédaction fonctionnera parce que la copie papier ne peut pas être piratée pour révéler le texte sous-jacent.)

Ou, y a-t-il une astuce pour pouvoir éditer des PDF dans gimp?

bstpierre
la source
2
Le PDF est évolutif, le PNG est un graphique raster, ce qui explique probablement la perte de qualité dans le processus de conversion. Convertissez plutôt en un format évolutif, tel que SVG.
Anonyme
@Anonymous: Belle idée, mais pas utilisable. Le fichier SVG résultant est massif; J'ai dû tuer le téléspectateur après 30 minutes et environ un Gio de consommation de mémoire.
bstpierre

Réponses:

16

(à l'origine, j'ai recommandé Okular mais cela n'a pas fonctionné comme je m'y attendais)

1. Modifiez le document dans un éditeur de vecteur

J'ai pu ouvrir un fichier PDF dans Inkscape , dessiner un rectangle sur un morceau de texte et l'imprimer. Inkscape est un éditeur de vecteur, donc aucune pixellisation n'est impliquée. Cependant, certaines polices semblaient incorrectes - probablement parce que le document a été créé sur une machine Windows avec des polices absentes sur la mienne.

Notez que toute méthode qui n'implique pas la pixellisation n'est acceptable que si vous allez imprimer le document expurgé sur papier et ne pas le distribuer électroniquement, car le texte peut toujours être récupéré sous les pannes.

2. Augmentez la résolution de pixellisation lors de l'ouverture dans un éditeur de bitmap

Concernant la "perte de qualité" lors de l'ouverture de la page dans Gimp : vous pouvez directement ouvrir un fichier PDF dans Gimp. Il sera tramé dans le processus. La quantité de perte de qualité dans le processus est une question de résolution que vous choisissez lors de l'importation - 300 dpi devrait vous donner une qualité très décente (la valeur par défaut est 100).

Vous pouvez également obtenir de bons résultats avec la convertcommande ImageMagick si vous lui dites d'augmenter la résolution:

convert -density 300x300 ...
Sergey
la source
1
+1 et accepté! Merci d'avoir suggéré inkscape, il a fait un travail raisonnable (pas parfait - il a perdu quelques objets graphiques (sans importance pour moi)) - mais très raisonnable). Et l'astuce convertétait bonne aussi: l'incantation que j'ai utilisée était convert -density 300x300et il n'y a aucune perte de qualité.
bstpierre
+1 pour avoir mentionné GIMP peut très bien gérer les fichiers
PDF
8
Avertissement à la population en général: les méthodes de rédaction ici qui impliquent de conserver le texte suggéré ici (par exemple toutes celles qui évitent la pixellisation) ne sont pas sécurisées. Le texte peut toujours être sélectionné sous les pannes ou lu à partir de la source du fichier. Voir par exemple freerepublic.com/focus/f-news/2706743/posts et hackaday.com/2008/08/01/exposing-poorly-redaged-pdfs
naught101
Bien que la question d'origine portait uniquement sur l'envoi de copies papier, pour lesquelles les méthodes non tramées sont acceptables, le vote en aval, car cette réponse ne met pas suffisamment en garde contre le risque de sécurité lors de la distribution électronique du résultat.
Jesse Glick
5
@JesseGlick: au lieu de me "punir" pour ne pas avoir abordé un cas d'utilisation qui n'était même pas mentionné dans la question d'origine, vous auriez pu juste modifier la réponse. Ce serait plus avantageux pour les futurs visiteurs.
Sergey
10

Fondamentalement, ce que vous essayez de faire est de mettre en surbrillance / annoter un PDF, mais avec une certaine flexibilité vers l'opacité et la couleur du marqueur (vous avez mentionné que vous n'avez pas besoin de censurer / supprimer quelque chose, simplement de caviarder). Avez-vous regardé les réponses ici: Comment puis-je mettre en évidence ou annoter des PDF?

L'une des réponses les mieux notées recommande Xournal , qui n'a pas été mentionné ici et serait mon arme de choix. C'est un outil qui vous permet de prendre des notes manuscrites mais qui possède des fonctionnalités supplémentaires vous permettant d'annoter un PDF. Par défaut, il enregistrera vos annotations dans un fichier séparé mais vous permettra également d'exporter le PDF annoté en tant que nouveau PDF. Cela devrait conserver la mise en page, les polices, etc.

Avec Xournal, vous choisissez "Annoter le PDF", puis utilisez un marqueur noir uni pour masquer les parties que vous souhaitez supprimer et "Exporter au format PDF".

Il y a des histoires sur Internet suggérant que Xournal pixellise le texte dans le PDF exporté (merci de l'avoir signalé, MHC). Cela ne semble pas être vrai: avec des annotations simples, le texte reste sélectionnable et consultable et la taille du fichier n'augmente pas beaucoup (il est passé de 205 ko à 220 ko dans l'exemple ci-dessous).

Pour installer, exécutez dans un terminal: sudo apt-get install xournalou sélectionnez-le simplement dans le Centre logiciel

Interface Xournal PDF exporté résultant

Tomas
la source
Xournal est bon mais vous devez savoir qu'il ne peut exporter que des PDF raster, ce qui signifie que toutes les informations textuelles et vectorielles sont perdues dans le processus. Si vous pouvez y faire face, Xournal est l'application de votre choix.
Glutanimate
1
Merci pour vos commentaires, @MHC. Xournal ne pixellise pas , voir la réponse révisée pour plus d'informations.
Tomas
3
Je viens de l'essayer par moi-même et vous avez absolument raison. Désolé pour la confusion. Cela faisait un moment que je n'avais pas utilisé Xournal et j'avais en quelque sorte l'impression que les documents exportés n'étaient pas de vrais PDF. Merci d'avoir mis les choses au clair!
Glutanimate
1
Cela fonctionne bien, mais je n'ai pas trouvé de moyen propre de supprimer les informations. J'ai dû utiliser l'outil de dessin pour gribouiller, ce qui semble très désordonné et n'a pas le professionnalisme que j'aimerais. Sinon, poursuivez avec l'exportation en tramant le contenu afin qu'il ne puisse pas être sélectionné et découvert.
flickerfly
Pour une véritable rédaction, qui remplace les données textuelles par des images, combinez cette réponse avec @ balu qui utilise la convertcommande ImageMajick .
colan
6

Vous pouvez utiliser Okular.

sudo apt-get install okular
  1. Ouvrez le pdf avec Okular.
  2. Appuyez sur F6.
  3. Appuyez sur 8.
  4. Mettez en surbrillance le texte que vous souhaitez supprimer.
  5. Faites un clic droit sur le texte, sélectionnez les propriétés, sélectionnez le "Type" comme "Highlight", appuyez sur Ok.
  6. Imprimez le fichier au format pdf.
eharvey
la source
4
Peut-être mentionner comment rendre le reflet noir.
equaeghe
1
Okular peut expurger avec n'importe quelle couleur (noir) de ces fonctions: surbrillance du texte, ligne à main levée et liens polygonaux avec remplissage intérieur. Vous pouvez enregistrer le paramètre en tant que votre propre outil d'annotation personnalisé. L'utiliser facilement encore et encore. Ensuite, lorsque vous imprimez le fichier au format PDF, vous devez "forcer la pixellisation" pour vous assurer que la rédaction n'est pas réversible. Okular Version 1.1.3
shadowbq
Il est noir par défaut, fonctionne avec la dernière version d'Okular. Merci!
TheFrack
5

Je rédige beaucoup de fichiers PDF tous les jours, donc je passe beaucoup de temps à réfléchir à la meilleure façon de le faire.

Pour moi, le meilleur moyen est de diviser le PDF en fichier PDF d'une page, à côté de modifier avec GIMP, à côté de le combiner. Je n'utilise pas imagemagick sur tous les fichiers (je n'utilise pas du tout), donc je ne perds pas de couche de texte sur toutes les pages, mais uniquement sur les caviardés. Ne chargez pas l'intégralité du fichier PDF à la fois, car cela entraîne un épuisement de la mémoire.

Fractionner le PDF en fichiers d'une page

Divisez facilement les fichiers PDF en PDF d'une page, vous pouvez par cette fonction bash (le mettre dans ~ / .bashrc):

function pdf_split(){
    for file in "$@"; do
        if [ "${file##*.}" != "pdf" ]; then
            echo "Skip $file because it's not PDF file";
            continue
        fi; 
        pages=$(pdfinfo "$file" | grep "Pages" | awk '{print $2}') 
        echo "Detect $pages in $file";
        filename="${file%.*}";
        unset Outfile;
        for i in $(seq 1 "$pages"); do
            pdftk "$file" cat "$i" output "$filename-$i.pdf";
            Outfile[$i]="$filename-$i.pdf";
        done;
    done;
};

Vous pouvez maintenant entrer split_pdf file.pdfpour obtenir un grand nombre de fichiers PDF.

Réduire les fichiers

Mais, maintenant, vous devez modifier tous ces fichiers. Vous pouvez le faire avec gimp original-filename-*.pdf. Je suggère de configurer le raccourci dans GIMP (Fenêtre principale-> Édition-> Raccourci) pour remplacer le fichier (j'utilise CTRL + R), le filtre de flou (par exemple CTRL + D), fermer le fichier (par exemple CTRL + W) et quitter GIMP ( par exemple, CTRL + Q). N'oubliez pas de ne pas charger GIMP dans de nombreux fichiers à la fois, mais GIMP comme vous le chargez après l'ouverture, vous pouvez donc l'utiliser gimp original-filename-*.pdfsur des milliers de fichiers en toute sécurité.

Combiner des fichiers

Vous pouvez facilement combiner des fichiers avec: pdftk originam-filename-*.pdf cat output "new-file-anon.pdf";

Connectez le tout ensemble

Ces opérations sont très répétitives et ennuyeuses, donc je connecte tout cela en 1 script:

function pdf_redact(){
    for file in "$@"; do
        if [ "${file##*.}" != "pdf" ]; then
            echo "Skip $file because it's not PDF file";
            continue
        fi; 
        pages=$(pdfinfo "$file" | grep "Pages" | awk '{print $2}') 
        echo "Detect $pages in $file";
        filename="${file%.*}";
        unset Outfile;
        for i in $(seq 1 "$pages"); do
            pdftk "$file" cat "$i" output "$filename-$i.pdf";
            Outfile[$i]="$filename-$i.pdf";
        done;
        gimp "${Outfile[@]}";
        pdftk "${Outfile[@]}" cat output "$filename-anon.pdf";
        rm "${Outfile[@]}";

    read -p "Do you want open output file? " -n 1 -r
    echo    
    if [[ $REPLY =~ ^[Yy]$ ]]
    then
            evince "$filename-anon.pdf";
    fi

    read -p "Do you want upload output file to Scribd.com? " -n 1 -r
    echo 
    if [[ $REPLY =~ ^[Yy]$ ]]
    then
        scribd_up "$filename-anon.pdf";
    fi
    done;
};

La dernière version de ce script est toujours accessible à: http://dostep.jawne.info.pl/it/bashrc

N'oubliez pas de fermer GIMP (CTRL + Q) après toute rédaction pour continuer le script.

En plus, j'ouvre des fichiers expurgés (j'aime lire pour vérifier s'ils sont tous) et je télécharge sur Scribd avec mon autre script - scribd_up , alors maintenant je peux expurger beaucoup de fichiers PDF très efficacement.

Adam Dobrawy
la source
2

Ouvrez le PDF avec l'outil gratuit PDF-Xchange PDF Viewer . Noircissez le texte à caviarder à l'aide de rectangles noirs. Impression. Vous obtiendrez ainsi une "fausse" rédaction facile et de haute qualité.

MetaEd
la source
Cela semble être un outil win32. Faites-moi savoir si j'ai raté le lien pour le port linux ...
bstpierre
3
La visionneuse PDF-Xchange portable gratuite fonctionnera avec wine.
Sabacon
Merci, cela a parfaitement fonctionné pour moi avec le vin. Les solutions inkscape et gimp ne sont vraiment utiles que pour la rédaction de pages uniques.
Gearoid Murphy
2

Utilisez LibreOffice Draw pour cette édition rapide que vous recherchez. Une fois que vous avez terminé, vous pouvez l'enregistrer au format LibreOffice Draw ou l'exporter à nouveau au format PDF ( File> Export as PDF)

entrez la description de l'image ici

Pour pouvoir importer des fichiers PDF dans LibreOffice Draw, vous devez d'abord installer le package libreoffice-pdfimport.

Installez-le via le Ubuntu Software Center ( libreoffice-pdfimport Installez libreoffice-pdfimport ) ou via un terminal avec sudo apt-get install libreoffice-pdfimport.

Bruno Pereira
la source
2

Vous pouvez également essayer cet outil: https://launchpad.net/updf

Le voici (mais de toute façon, le texte est sélectionnable):

entrez la description de l'image ici

franzlorenzon
la source
1
uPDF est génial en ce qu'il préserve le PDF original et son contenu texte et svg. Cependant, il semble avoir des problèmes avec les niveaux de compression. Les fichiers PDF modifiés sont environ 3 à 4 fois plus grands que l'original. Merci d'avoir posté cela, cependant. Je n'étais pas au courant de l'UPDF.
Glutanimate
Oui je sais que ça a des problèmes, c'est un peu rude. J'espère que les nouvelles versions corrigeront ces problèmes ... :)
franzlorenzon
Comme mentionné, uPDF a beaucoup de bugs (et même pas annuler / refaire) mais tout s'est quand même bien passé dans mon cas, alors merci!
balu
2

Je me souviens qu'une fois, moi et un collègue avons dû trouver un moyen d'éditer quelques pdf, nous avons fini par utiliser Gimp. Je vais vous commenter les détails ... nous ouvrons le pdf directement avec gimp (dans un terminal)

gimp the_file.pdf

Une fois que vous avez terminé l'édition, nous n'avons pas enregistré les modifications, au lieu de cela, nous imprimons dans un fichier pdf ... Cela semblait fonctionner correctement.

maniat1k
la source
Pour une raison quelconque, Gimp refuse de me permettre de faire des modifications dans le fichier. Je devais d'abord convertir avec imagemagick convert, puis éditer le fichier converti. (Voir réponse acceptée.)
bstpierre
ok, la solution d'inkscape est valide. Mais je vous le répète, The Gimp peut éditer directement les fichiers pdf. = D
maniat1k
Gimp semble fonctionner avec la plupart des fichiers PDF, mais le fichier que j'utilisais hier soir ne fonctionnait pas correctement. Inkscape a géré ce fichier correctement.
bstpierre
2

PDF Studio est un logiciel non open source et est un logiciel qui nécessite l'achat.

En ce qui concerne cette question, à partir de la version 8, il dispose d'une fonction de rédaction manuelle. Les utilisateurs peuvent sélectionner un objet texte et le supprimer. Le contenu est supprimé du PDF et remplacé par un rectangle noir.

Dans la version 9 à venir au troisième trimestre 2013, les annotations de rédaction et la gravure seront également disponibles pour les images et les formes.

Lilou
la source
4
Selon la FAQ , vous devez divulguer votre affiliation avec le produit dont vous faites la promotion.
bstpierre
Même si c'est probablement plus une annonce promotionnelle qu'une réponse, je dois dire que PDFstudio est vraiment un excellent logiciel. C'est peut-être un peu trop cher, mais c'est certainement la meilleure suite d'édition de PDF pour Linux. Assurez-vous au moins d'essayer leur version d'essai .
Glutanimate
2

Si vous ne voulez pas vous souvenir de l'incantation correcte, convertvous pouvez utiliser pdf-redact-tools , un script shell automatisant le processus d'explosion d'un PDF en images PNG et de les fusionner à nouveau après la rédaction (en utilisant un outil de votre choix, par exemple gimp ). Il est convenablement installable .

kynan
la source
+1 C'est le produit de Micah Lee et d'autres de First Look Media (éditeur de The Intercept). Sa page de manuel est ici (par exemple) et quelques informations générales sur l'époque de sa sortie en 2015 sont disponibles ici .
caw Il y a
2

Comme de nombreuses solutions recommandent ici de supprimer / masquer les annotations (qui laissent le contenu original dans le pdf), je recommande par la suite de pixelliser le pdf pour vraiment supprimer le contenu original. (Ne soyez pas ce gars .)

Voici une façon de faire qui, en même temps, maintient la qualité et la taille du fichier faibles (au moins dans mon cas, un tas de pages en noir et blanc):

$  convert -quality 100 -density 180 -compress zip notreallyredacted.pdf trulyredacted.pdf

Remarque: convertnécessite ImageMagick.

Remarque 2: convertne conserve pas le contenu des formulaires que vous pourriez avoir remplis. Pour qu'il ne se perde pas, vous voudrez peut-être imprimer le document "dans un fichier" dans quelque chose comme d' evinceabord (ou dans n'importe quelle application que vous avez remplie le formulaire), puis le pixelliser.

balu
la source
Je viens d'ajouter le correctif des autorisations. Cette réponse doit être combinée avec celle de Xournal.
colan
1

La meilleure façon que j'ai trouvée pour ce faire est d'utiliser http://www.pdfescape.com . Vous pouvez annoter, ajouter du texte et des images, dessiner un rectangle "blanc" autour des éléments que vous souhaitez supprimer, et vous pouvez rapidement les télécharger et les enregistrer. Cela fonctionne également très bien avec les documents de plusieurs pages, ce qui n'est pas le cas avec de nombreuses autres solutions. Par exemple, si vous ouvrez un document de plusieurs pages dans Gimp ou Inkscape, vous ne pourrez ouvrir qu'une seule page à la fois. Le processus est beaucoup plus rapide dans PDFescape. L'ensemble du processus de rédaction d'un document de 2 pages prend moins d'une minute.

user184478
la source
1
N'efface pas vraiment les données sur lesquelles vous avez peint. (Je peux toujours le rechercher et il sera "mis en évidence" ci-dessous).
Frank Nocke
0

Il existe plusieurs éditeurs pour éditer directement des documents PDF, tels que pdfeditou les convertir en d'autres formats vectoriels qui pourraient être mieux pris en charge, tels quepstoedit . Cependant, je ne recommanderais pas l'utilisation de l'un d'entre eux car le risque de faire quelque chose de stupide, comme peindre le texte avec du noir tout en laissant les vecteurs en place est trop facile, rendant ainsi la rédaction triviale à annuler.

Aller du vecteur au bitmap est le moyen le plus sûr, de préférence le bitmap 1 bit, pour éviter tout problème potentiel avec les canaux alpha ou les différences de couleur qui pourraient laisser le texte lisible.

Si possible, vous devez toujours caviarder le document d'origine et supprimer les informations, pas la peinture sur le PDF, car même le crénage et l'espacement du texte autour du texte caviardé peuvent le révéler.

Grumbel
la source
Je comprends bien les problèmes liés à la rédaction, mais merci de prendre soin de les signaler à toute personne qui viendra après. Dans mon cas, le PDF lui-même est jetable - tout ce que je recherche, c'est une copie papier. (Le PDF sera supprimé dès que j'aurai une copie papier.) FWIW, pdfeditn'a pas fonctionné: lorsque j'ai dessiné un rectangle noir sur le texte en question, il a annulé le reste de la page, me laissant avec un document composé d'un rectangle noir unique.
bstpierre
0

J'ajoute à la liste: Krita . N'a eu aucune perte de qualité, car lors de l'importation de PDF, vous pouvez définir le dpi (définissez-le sur 300, comme l'a dit @Sergey). Après l'édition, cliquez sur "Exporter au format PDF". Enfin, je trouve Krita plus intuitif que Gimp, après avoir longtemps utilisé Photoshop.

jmjr
la source
-1

Si vous utilisez LibreOffice pour créer un fichier PDF, ouvrez la doc dans LibreOffice, mettez en surbrillance le texte à caviarder, faites un clic droit et sélectionnez un caractère, sélectionnez Arrière-plan et cliquez sur noir. Exporter au format PDF.

Dave
la source