Yazdırırken PDF'deki metin ve arka plan renklerini tersine çevirmek mümkün mü?


18

Tamamen siyah bir arka plana sahip mevcut bir PDF var ve tüm metin beyaz.

Metnin siyah ve siyah arka planın hiç yazdırılmamasını sağlamanın bir yolu var mı?

Bluebeam ve Adobe PDF'im var.

Yanıtlar:


12

Ne kadar tuhaf ki, bunun için "meşru" kullanım durumları var, özellikle de az gören insanlar. Acrobat ve diğer okuyucular görüntüleme renklerini geçersiz kılabilir (örneğin Evince'de ve Acrobat Reader X'ta Erişilebilirlik menüsü aracılığıyla Ctrl-I) ancak yazdırma için garip değil. Yine de yapabileceğiniz şey, bir postscript dosyası almak için GhostScript'in pdf2ps dönüştürücüsünü (veya sadece dosyayı yazan sahte bir PS yazıcı sürücüsünü) kullanmaktır.

{1 exch sub} settransfer 

dosyadaki ilk satır olarak seçin ve ardından bu PostScript dosyasını yazdırın. Bu şekilde, PDF'yi bir görüntüye dönüştürüp ters çevirirseniz, dokümanın daha sadık bir görüntüsünü elde edersiniz.


1
Bir PostScript yazıcı sürücüsü yükleyerek ve daha sonra çıktıyı yakalamak için dosyaya yazdırmasını söyleyerek böyle bir şey yaptım (Windows'ta). Aynı kavram diğer işletim sistemlerinde de çalışmalıdır. PostScript dosyalarının yalnızca çoğu metin düzenleyicisiyle düzenlenebilen metin dosyaları olduğuna dikkat edilmelidir.
martineau

Bir arada kullanılması pdf2psve ps2pdfben ters bir pdf dosyası içine orijinal pdf ihraç edebilecek olabilir. Sadece önerilen çizginin ne yaptığını ve orijinal renklere geri dönmek mümkün olup olmadığını merak ediyorum.
tigerjack89

3

Bir yoktur kolay yolu , ve bir teknik yolu .

Teknik yol , Ghostscript yüklüyse ve .../binklasörünü PATH'nize eklediyseniz, komut satırından aşağıdakine benzer bir şey çağırarak PDF'nizin renklerini tersine çevirebilmeniz gerekir:

gswin64 -o C:/outputfile.pdf -sDEVICE=pdfwrite -c "{1 exch sub}{1 exch sub}{1 exch sub}{1 exch sub} setcolortransfer" -f C:/inputfile.pdf

Not gswin64(yer .../binadlandırılabilecek klasörün) gswin3232 bit sürümünü indirilebilir eğer, yoksa yerine Windows'un * Nix sistemde konum tamamen eğer bir şey ve sen çok yerini gerektiğini C:/outputfile.pdfve C:/inputfile.pdffiili yolları ile senin girdi dosyası ve amaçlanan çıktı dosyası konumu. Ayrıca, deneyimlerime göre, yol dizinlerinizde boşluklar varsa, etraflarına tırnak işaretleri koymuş olsanız bile bazen biraz sorun olabileceğine dikkat edin.

Satırı {1 exch sub}{1 exch sub}{1 exch sub}{1 exch sub} setcolortransferayrı bir .psdosyaya koyup .psdosyayı komutunuza eklemediğiniz sürece, Ghostscript'in bazı sürümlerinin bu konuda başarısız olabileceğini de belirtmek gerekir .

(Bu gerçekten Mateen Ulhaqyukarıdaki cevabın sadece daha etli bir versiyonudur )

Kolay yolu , yukarıdakilerden herhangi birini yapmaktan rahatsız olamazsanız , sizin için tüm bunları (artı biraz daha fazlasını) yapacak InvertPDF.com web sitesini kullanabilirsiniz . Bu benim kendi web sitesi ve ben yapmaya çalışırken bu konu üzerine tökezledi. Umarım bu cevap, bir sonraki kişinin benzer bir şey elde etmeye veya kendi çevrimdışı senaryolarını oluşturmaya çalışmasını kolaylaştırır.


2

Bu sayfaya göre , ImageMagick ile bunu başarabilirsiniz. Ancak, PDF ters çevrilmeden önce resimlere dönüştürülür . Bu nedenle kalite yeterli değilse, DPI numarasını ayarlayabilmeniz gerekir.

convert -density 300 -negate "input.pdf[1-999]" output.pdf

Değiştir 300istediğiniz DPI ve 1-999istediğiniz sayfa aralığı ile.

NOT : Bu komut ImageMagick'in daha eski bir sürümü içindir ve eski yardımcı programların kurulu olduğundan emin olmanız gerekir.

Eski Yardımcı Programlar


@ fixer1234 Bunu dikkatime sunduğunuz için teşekkürler. İnternet Arşivinde bu sayfaya bir bağlantı ekledim.
bdr9

1

Acrobat Reader X'te

Düzenle-> Tercihler-> erişilebilirlik Seçin: Belge renklerini değiştir Seçin: Özel renk

Kalan seçenekleri kişisel tercihinize göre ayarlayın.

Not: Bu belgeyi değiştirmez, sadece görünümünüzü ve yazdırılma şeklini değiştirir.


Orijinal AFAICT'den farklı yazdırmıyor
mike65535

1

Daha önce yayınlanan çözümlerin hiçbiri benim için işe yaramadı, bu yüzden bu basit bash senaryosunu yazdım. Bu bağlıdır pdftkve awk. Kodu bir dosyaya kopyalayın ve yürütülebilir yapın. Sonra şöyle çalıştırın:

$ /path/to/this_script.sh /path/to/mypdf.pdf

Senaryo:

#!/bin/bash                                                                      
pdftk "$1" output - uncompress | \                                               
awk '                                                                            
  /^1 1 1 / {                                                                    
    sub(/1 1 1 /,"0 0 0 ",$0);                                                   
    print;                                                                       
    next;                                                                        
  }                                                                              

  /^0 0 0 / {                                                                    
    sub(/0 0 0 /,"1 1 1 ",$0);                                                   
    print;                                                                       
    next;                                                                        
  }                                                                              

  { print }' | \                                                                 
pdftk - output "${1/%.pdf/_inverted.pdf}" compress

Bu komut dosyası benim için çalışıyor, ancak kilometreniz değişebilir. Özellikle bazen renkler form 1.000 1.000 1.000yerine listelenir 1 1 1. Komut dosyası gerektiğinde kolayca değiştirilebilir. İstenirse, ek renk dönüşümleri de eklenebilir.


0

Daha hoş bir gri tonlama istiyorsanız ve belgenizi görüntülere dönüştürmeyle ilgili sorun yoksa, bunu bir .bat dosyasına atın ve ardından PDF'nizi .bat dosyasına sürükleyin.

"C:\Program Files\gs\gs9.20\bin\gswin64c" -o inverted.pdf -sDEVICE=pdfwrite -c "{1 exch sub}{1 exch sub}{1 exch sub}{1 exch sub} setcolortransfer" -f %1
convert -brightness-contrast 3,-18 -compress lzw  -density 300 -colorspace Gray inverted.pdf output.pdf

İlk komut için Ghostscript'in kurulu olmasını gerektirir (lütfen doğru yolu belirtin). İkinci komut için eski yardımcı programlara sahip ImageMagick'in yüklenmesini gerektirir.


0

Birçoğu Düzenle-> Tercih-> Erişilebilirlik yöntemini kullanmayı önermişti ama ne yazık ki benim için çalışmadı. PDF ayarını test ettikten ve oynadıktan sonra istediğimi elde etmeyi başardım!

  • Yazdırmaya Git (Ctrl + P)
  • Gelişmiş Ayarlar'ı tıklayın
  • Ayarları Kontrol Et : Özel
  • Sol panelden Çıktıya tıklayın
  • Renk altında : Kompozit Gri'yi seçin
  • Kontrol Negate kutusunu
  • tıklayın Tamam

Bu hile yapmalı!

Önemli Not!
Bu dosyayı doğrudan PDF'den yazdırmanızı öneririm. Özellikle bir sayfada birden fazla sayfa yazdırmayı planlıyorsanız, beyaz alan da siyaha dönüşür!

Son olarak, belgeyi başka bir PDF olarak yazdıracaksanız, Sayfa Boyutlandırma ve İşleme altında , Sığdır'ı tıklatın ve her iki kutuyu da işaretleyin - " Gerektiğinde kağıt boyutunu seçin " ve Gerektiğinde özel kağıt boyutunu kullanın . (İstenmeyen boşluklardan kaçınmak için)

Umarım bu yardım!


Bu, yazıcı sürücünüze
özeldir

-1

ImageFagick kullanmak benim için çalıştı, ancak çıktı dosyası giriş dosyasından yaklaşık 50 kat daha büyük.

convert -density 300 -negate input_file.pdf output_file.pdf

Komut satırı (luinux'da): convert -density 300 -negate input_file.pdf
output_file.pdf
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.