Apakah ada cara yang lebih baik untuk membuat ulang PDF?


25

Saya harus mencetak beberapa PDF baru-baru ini untuk dikirim ke seseorang, tetapi saya ingin mengurangi (black out) beberapa teks kecil.

Pencarian google cepat tidak menemukan alat apa pun untuk tujuan khusus ini, jadi saya kembali ke imagemagick & gimp:

  • convert document.pdf document.png
  • gimp document-0.png
  • (gunakan kuas untuk menghapus teks)
  • cetak halaman yang dihapus dari gimp
  • cetak halaman yang tersisa dari xpdf

Masalah dengan strategi ini adalah bahwa proses konversi (dari PDF ke PNG atau format apa pun lainnya) kehilangan kualitas. Saya mencoba mengedit PDF di gimp tetapi tidak segera bekerja.

Apakah ada alat khusus yang memungkinkan redaksi dengan cara ini? (Bahkan tidak perlu redaksi "nyata" - Saya tidak mengirim softcopy sehingga redaksi "palsu" akan berfungsi karena hardcopy tidak dapat diretas untuk mengungkapkan teks yang mendasarinya.)

Atau, apakah ada trik untuk dapat mengedit PDF di gimp?


2
PDF scalable, PNG adalah grafik raster, yang mungkin mengapa ada kehilangan kualitas dalam proses konversi. Konversikan ke format yang skalabel, seperti SVG.
Anonim

@ Anonim: Ide bagus, tapi tidak bisa digunakan. File SVG yang dihasilkan sangat besar; Saya harus -MEMBUNUH pemirsa setelah 30 menit dan GiB atau lebih dari konsumsi memori.
bstpierre

Jawaban:


16

(awalnya saya merekomendasikan Okular tetapi tidak berfungsi seperti yang saya harapkan)

1. Edit dokumen dalam editor vektor

Saya bisa membuka file PDF di Inkscape , menggambar persegi panjang di atas sepotong teks dan mencetaknya. Inkscape adalah editor vektor sehingga tidak ada rasterisasi yang terlibat. Beberapa font tampak salah - mungkin karena dokumen itu dibuat pada mesin Windows dengan font yang tidak ada pada saya.

Perhatikan bahwa metode apa pun yang tidak melibatkan rasterisasi hanya dapat diterima jika Anda akan mencetak dokumen yang dihapus di atas kertas dan tidak mendistribusikannya secara elektronik, karena teks masih dapat diambil dari bawah pemadaman.

2. Tingkatkan resolusi rasterisasi saat dibuka di editor bitmap

Mengenai "kehilangan kualitas" saat membuka halaman di Gimp : Anda dapat langsung membuka file PDF di Gimp. Ini akan dirasterisasi dalam proses. Jumlah kehilangan kualitas dalam proses adalah masalah resolusi yang Anda pilih saat mengimpor - 300 dpi akan memberi Anda kualitas yang sangat layak (standarnya adalah 100).

Anda juga bisa mendapatkan hasil yang baik dengan convertperintah ImageMagick jika Anda mengatakannya untuk meningkatkan resolusi:

convert -density 300x300 ...

1
+1 dan diterima! Terima kasih telah menyarankan inkscape, itu melakukan pekerjaan yang masuk akal (tidak sempurna - kehilangan beberapa objek grafis (tidak penting bagi saya)) - tetapi sangat masuk akal). Dan tipnya convertjuga bagus: mantra yang saya gunakan adalah convert -density 300x300dan tidak ada penurunan kualitas.
bstpierre

+1 untuk menyebutkan GIMP dapat menangani pdf dengan cukup baik
don.joey

8
Peringatan untuk masyarakat umum: metode redaksi di sini yang melibatkan mempertahankan teks yang disarankan di sini (misalnya semua yang menghindari rasterisasi) tidak aman. Teks masih dapat dipilih dari bawah pemadaman, atau membaca dari sumber file. Lihat misalnya freerepublic.com/focus/f-news/2706743/posts dan hackaday.com/2008/08/01/exposing-poorly-redacteded-pdfs
naught101

Meskipun pertanyaan awal hanya ditanyakan tentang pengiriman hardcopy, yang metode nonrasterisasi dapat diterima, downvoting karena jawaban ini tidak cukup jelas memperingatkan tentang risiko keamanan ketika mendistribusikan hasilnya secara elektronik.
Jesse Glick

5
@ JesseGlick: alih-alih "menghukum" saya karena tidak menangani kasus penggunaan yang bahkan tidak disebutkan dalam pertanyaan asli, Anda bisa saja mengedit jawabannya. Itu akan lebih bermanfaat bagi pengunjung masa depan.
Sergey

10

Pada dasarnya apa yang Anda coba lakukan adalah menyorot / membubuhi keterangan PDF, tetapi dengan beberapa fleksibilitas terhadap opacity dan warna marker (Anda sebutkan Anda tidak perlu menyensor / menghapus sesuatu, cukup redact). Sudahkah Anda melihat jawaban di sini: Bagaimana saya bisa menyorot atau membubuhi keterangan PDF?

Salah satu jawaban dengan nilai tertinggi merekomendasikan Xournal , yang belum disebutkan di sini dan akan menjadi senjata pilihan saya. Ini adalah alat yang memungkinkan Anda membuat catatan tulisan tangan tetapi memiliki fitur tambahan yang memungkinkan Anda membuat anotasi PDF. Secara default itu akan menyimpan anotasi Anda sebagai file terpisah tetapi juga memungkinkan Anda untuk mengekspor PDF beranotasi sebagai PDF baru. Ini harus mempertahankan tata letak, font, dll.

Dengan Xournal Anda akan memilih "Annotate PDF", lalu gunakan marker hitam pekat untuk menutupi bagian yang ingin Anda hapus, dan "Ekspor ke PDF".

Ada beberapa cerita di internet yang menunjukkan bahwa Xournal meraster teks dalam PDF yang diekspor (terima kasih telah menunjukkan ini, MHC). Ini tampaknya tidak benar: dengan anotasi sederhana, teks tetap dapat dipilih dan dicari dan ukuran file tidak meningkat banyak (itu meningkat dari 205 kb menjadi 220 kb pada contoh di bawah).

Untuk menginstal, jalankan di terminal: sudo apt-get install xournalatau pilih saja dari Pusat Perangkat Lunak

Antarmuka jurnal Menghasilkan PDF yang diekspor


Xournal bagus tetapi Anda harus tahu bahwa itu hanya dapat mengekspor raster PDF yang berarti bahwa semua informasi teks dan vektor hilang dalam proses. Jika Anda bisa mengatasinya maka Xournal adalah aplikasi pilihan Anda.
Glutanimate

1
Terima kasih atas umpan baliknya, @MHC. Xournal tidak tidak Raster, lihat jawaban direvisi untuk informasi lebih lanjut.
Tomas

3
Saya hanya mencobanya sendiri dan Anda benar sekali. Maaf bila membingungkan. Sudah lama sejak saya menggunakan Xournal dan entah bagaimana saya meninggalkan kesan bahwa dokumen yang diekspor bukan PDF yang benar. Terima kasih telah meluruskannya!
Glutanimate

1
Ini bekerja dengan baik, tetapi saya tidak dapat menemukan cara yang bersih untuk mengubah informasi. Saya harus menggunakan alat menggambar untuk mencoret-coret yang terlihat sangat berantakan dan tidak memiliki profesionalisme yang saya inginkan. Jika tidak, mulai dengan ekspor raster konten sehingga tidak dapat dipilih dan ditemukan.
flickerfly

Untuk redaksi nyata, yang menggantikan data tekstual dengan gambar, gabungkan jawaban ini dengan @ balu yang menggunakan convertperintah ImageMajick .
colan

6

Anda bisa menggunakan Okular.

sudo apt-get install okular
  1. Buka pdf dengan Okular.
  2. Tekan F6.
  3. Tekan 8.
  4. Sorot teks yang ingin Anda hapus.
  5. Klik kanan teks, pilih properti, pilih "Ketik" sebagai "Sorot", tekan Ok.
  6. Cetak file ke pdf.

4
Mungkin menyebutkan bagaimana membuat highlight menjadi hitam.
Equaeghe

1
Okular dapat melakukan reduksi dengan warna apa saja (hitam) dari fungsi-fungsi ini: highlight teks, garis tangan bebas, dan tautan poligon dengan isi dalam. Anda dapat menyimpan pengaturan sebagai alat penjelasan kustom Anda sendiri. Mudah menggunakannya berulang-ulang. Kemudian ketika Anda mencetak file ke pdf Anda harus "memaksa rasterisasi" untuk memastikan redaksi tidak dapat dibalik. Versi Okular 1.1.3
shadowbq

Ini hitam secara default, berfungsi dengan versi Okular terbaru. Terima kasih!
TheFrack

5

Saya mengurangi banyak file PDF setiap hari, jadi saya menghabiskan banyak waktu untuk memikirkan cara melakukannya dengan cara terbaik.

Bagi saya cara terbaik adalah membagi PDF dalam file PDF 1-halaman, selanjutnya mengedit dengan GIMP, selanjutnya menggabungkannya. Saya tidak menggunakan imagemagick pada semua file (saya tidak menggunakan sama sekali), jadi saya tidak kehilangan layer teks pada semua halaman, tetapi hanya pada redacted. Jangan memuat seluruh file PDF sekaligus, karena menyebabkan kehabisan memori.

Membagi PDF dalam file 1 halaman

Pisahkan file PDF dengan mudah menjadi PDF 1 halaman yang dapat Anda lakukan dengan fungsi bash ini (letakkan di ~ / .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;
};

Anda sekarang dapat masuk split_pdf file.pdfuntuk mendapatkan banyak file PDF.

Hapus file

Tapi, sekarang Anda perlu mengedit semua file ini. Anda bisa melakukannya dengan gimp original-filename-*.pdf. Saya sarankan untuk mengkonfigurasi pintasan di GIMP (Jendela utama-> Edit-> Pintasan) untuk mengganti file (saya menggunakan CTRL + R), mengaburkan filter (mis. CTRL + D), menutup file (mis. CTRL + W) dan keluar dari GIMP ( mis. ELECTRL + Q). Ingatlah untuk tidak memuat di GIMP ke banyak file sekaligus, tetapi GIMP saat Anda memuat setelah dibuka, jadi Anda bisa menggunakannyagimp original-filename-*.pdf ribuan file dengan aman.

Gabungkan file

Anda dapat menggabungkan file dengan mudah dengan: pdftk originam-filename-*.pdf cat output "new-file-anon.pdf";

Hubungkan semuanya

Operasi ini sangat berulang dan membosankan, jadi saya menghubungkan semuanya dalam 1 skrip:

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;
};

Versi terbaru dari skrip ini selalu dapat diakses di: http://dostep.jawne.info.pl/it/bashrc

Ingatlah untuk menutup GIMP (CTRL + Q) setelah semua redaksi untuk melanjutkan skrip.

Dalam kecanduan ketika saya membuka file yang dihapus (saya suka membaca untuk memeriksa apakah semua) dan untuk mengunggah ke Scribd dengan skrip saya yang lain - scribd_up , jadi sekarang saya dapat mengurangi banyak file PDF dengan sangat efisien.


2

Buka PDF dengan alat gratis PDF-Xchange PDF Viewer . Black out teks yang akan dihapus menggunakan persegi panjang hitam. Mencetak. Itu akan membuat Anda mudah, redaksi "palsu" berkualitas tinggi.


Itu tampaknya menjadi alat win32. Beri tahu saya jika saya melewatkan tautan untuk port linux ...
bstpierre

3
Penampil PDF-Xchange portabel gratis akan bekerja dengan anggur.
Sabacon

Terima kasih, ini cocok untuk saya dengan anggur. Solusi inkscape dan gimp hanya sangat berguna untuk redaksi satu halaman.
Gearoid Murphy

2

Gunakan LibreOffice Draw untuk pengeditan cepat yang Anda cari. Setelah selesai, Anda dapat menyimpannya sebagai format Draw LibreOffice atau mengekspornya lagi ke format PDF ( File> Export as PDF)

masukkan deskripsi gambar di sini

Untuk dapat mengimpor file PDF ke LibreOffice Draw, Anda harus menginstal paket terlebih dahulu libreoffice-pdfimport .

Instal melalui Pusat Perangkat Lunak Ubuntu ( libreoffice-pdfimport Instal libreoffice-pdfimport ) atau melalui terminal dengan sudo apt-get install libreoffice-pdfimport.


2

Anda juga dapat mencoba alat ini: https://launchpad.net/updf

Ini dia (tetapi bagaimanapun juga, teks dapat dipilih):

masukkan deskripsi gambar di sini


1
uPDF sangat bagus dalam mempertahankan PDF asli dan teks dan konten svg. Namun, tampaknya ada beberapa masalah dengan tingkat kompresi. PDF yang diedit berukuran sekitar 3-4x lebih besar dari aslinya. Terima kasih telah memposting ini. Saya tidak mengetahui uPDF.
Glutanimate

Ya saya tahu ada beberapa masalah, agak kasar. Semoga rilis yang lebih baru akan memperbaiki masalah ini ... :)
franzlorenzon

Seperti disebutkan, uPDF memang memiliki banyak bug (dan bahkan tidak membatalkan / mengulang) tetapi semuanya masih berjalan dengan baik dalam kasus saya, jadi terima kasih!
balu

2

Saya ingat suatu kali saya dan seorang kolega harus menemukan cara untuk mengedit beberapa pdf, Kami akhirnya menggunakan Gimp. Saya akan berkomentar detailnya ... kami membuka pdf langsung dengan gimp (di terminal)

gimp the_file.pdf

Setelah Anda selesai mengedit, kami tidak menyimpan perubahan, alih-alih kami mencetaknya ke file pdf ... Itu sepertinya berfungsi ok.


Untuk alasan apa pun, gimp menolak untuk mengizinkan saya mengedit file. Saya harus mengonversi dengan imagemagick convertterlebih dahulu, kemudian mengedit file yang dikonversi. (Lihat jawaban yang diterima.)
bstpierre

ok, solusi inkscape valid. Tapi saya ulangi untuk Anda The Gimp dapat mengedit file pdf secara langsung. = D
maniat1k

Gimp tampaknya berfungsi dengan sebagian besar file PDF, tetapi file yang saya gunakan tadi malam tidak berfungsi dengan benar. Inkscape menangani file itu dengan benar.
bstpierre

2

PDF Studio adalah non-opensource dan merupakan perangkat lunak yang membutuhkan pembelian.

Dalam hal pertanyaan ini, sejak versi 8 dan seterusnya memiliki fitur redaksi manual. Pengguna dapat memilih objek teks dan mengubahnya. Konten dihapus dari PDF dan diganti dengan kotak hitam.

Di versi 9 kuartal ketiga 2013 mendatang, anotasi redaksi dan pembakaran juga akan tersedia untuk gambar dan bentuk.


4
Per faq , Anda harus mengungkapkan afiliasi Anda dengan produk yang Anda promosikan.
bstpierre

Meskipun ini kemungkinan lebih merupakan iklan promosi daripada jawaban saya harus mengatakan bahwa PDFstudio benar-benar bagian dari perangkat lunak. Ini mungkin sedikit terlalu mahal tapi tentu saja suite editing PDF terbaik untuk Linux di luar sana. Pastikan untuk setidaknya mencoba versi uji coba mereka .
Glutanimate

2

Jika Anda tidak ingin mengingat mantera yang benar untuk convertAnda dapat menggunakan pdf-redact-tools , skrip shell mengotomatiskan proses meledaknya PDF ke gambar PNG dan menggabungkannya kembali setelah redaksi (menggunakan alat pilihan Anda misalnya gimp ). Itu benar-benar apt-get installable .


+1 Ini adalah produk Micah Lee dan lainnya dari First Look Media (penerbit The Intercept). Halaman manualnya ada di sini (misalnya) dan beberapa informasi latar belakang sejak dirilis pada tahun 2015 tersedia di sini .
gak

2

Karena banyak solusi di sini merekomendasikan redacting / blacking out melalui anotasi (yang meninggalkan konten asli dalam pdf), saya sarankan rasterisasi pdf setelahnya untuk benar-benar menghapus konten asli. (Jangan jadi orang ini .)

Inilah salah satu cara untuk melakukan itu yang, pada saat yang sama, menjaga kualitas dan ukuran file tetap rendah (setidaknya dalam kasus saya banyak halaman hitam / putih):

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

catatan: convert perlu ImageMagick.

Catatan 2: converttidak menyimpan isi formulir yang mungkin telah Anda isi. Agar tidak hilang, Anda mungkin ingin mencetak dokumen "ke file" dalam sesuatu seperti evincepertama (atau dalam aplikasi apa pun yang Anda isi formulir) dan kemudian rasterize.


Baru saja menambahkan perbaikan izin. Jawaban ini harus dikombinasikan dengan yang Xournal.
colan

1

Cara terbaik yang saya temukan untuk melakukan ini adalah dengan menggunakan http://www.pdfescape.com . Anda dapat membuat anotasi, menambahkan teks dan gambar, menggambar kotak "putih" di sekitar hal-hal yang ingin Anda hapus, dan Anda dapat dengan cepat mengunduh dan menyimpannya. Ini juga bekerja dengan sangat baik dengan dokumen multi-halaman, yang merupakan sesuatu yang banyak solusi lainnya tidak berfungsi dengan baik. Misalnya, jika Anda membuka dokumen multi-halaman di Gimp atau Inkscape, Anda hanya akan dapat membuka satu halaman sekaligus. Prosesnya jauh lebih cepat di PDFescape. Seluruh proses bagi saya untuk mereduksi dokumen 2 halaman membutuhkan waktu kurang dari satu menit.


1
Tidak benar-benar menghapus data yang Anda lukis. (Saya masih bisa mencarinya dan itu akan "menyorot" di bawah).
Frank Nocke

0

Ada beberapa editor untuk mengedit dokumen PDF secara langsung, seperti pdfedit, atau mengonversinya ke format vektor lain yang mungkin lebih baik didukung, sepertipstoedit . Namun saya tidak akan merekomendasikan penggunaan salah satu dari mereka sebagai risiko melakukan sesuatu yang bodoh, seperti hanya melukis di atas teks dengan hitam sambil meninggalkan vektor di tempat adalah mudah, sehingga membuat redaksi sepele untuk dibatalkan.

Pergi vektor ke rute bitmap adalah cara paling aman, lebih disukai rute bitmap 1bit, untuk menghindari masalah potensial dengan saluran alfa atau perbedaan warna yang dapat membuat teks dapat dibaca.

Jika memungkinkan Anda harus selalu mereduksi dokumen asli dan menghapus info, bukan cat pada PDF, karena bahkan kerning dan spasi teks di sekitar teks yang redacted dapat memberikannya.


Saya mengerti masalah dengan pengangkatan ulang dengan benar, tetapi terima kasih telah memberikan perhatian untuk menunjukkannya kepada siapa pun yang datang setelah. Dalam kasus saya, PDF itu sendiri dapat dibuang - semua yang saya cari adalah hardcopy. (PDF akan dihapus segera setelah saya memiliki hardcopy.) FWIW, pdfedittidak berfungsi: ketika saya menggambar persegi panjang hitam di atas teks yang dipermasalahkan, itu nuked sisa halaman, meninggalkan saya dengan dokumen yang terdiri dari kotak hitam tunggal.
bstpierre

0

Saya tambahkan ke daftar: Krita . Tidak kehilangan kualitas, karena ketika mengimpor PDF Anda dapat mendefinisikan dpi (atur ke 300, seperti yang dikatakan @Sergey). Setelah mengedit klik "Ekspor sebagai PDF". Terakhir, saya menemukan Krita lebih intuitif daripada Gimp, setelah lama menjadi pengguna Photoshop.


-1

Jika menggunakan LibreOffice untuk membuat file PDF, buka dokumen di LibreOffice, sorot teks yang akan dihapus, klik kanan dan pilih karakter, pilih Background dan klik hitam. Ekspor ke PDF.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.