2013-02-25 10 views
8

Nitro Reader tarafından oluşturulan sıkıştırılmış pdf akışlarından gelen bilgileri incelemek için pdftk ile çalışmaya çalışıyorum, ancak pdftk akışları azaltmayacaktır. Hata üretmez, ancak pdf nesnelerini yeniden sıralamanın ötesinde bir şey yapmaz. Here, bu pdfs'lerden birinin en küçük bir örneğidir.pdftk, veri akışlarını sıkıştırmayacaktır

pdftk test.pdf output test-d.pdf uncompress 

Diğer pdfs üzerinde pdftk'yi denediğimde, iyi çalışıyor gibi görünüyor. Veri akışlarını elle çıkarırsam ve Python'da zlib kullanarak sıkıştırırsam, düzgün bir şekilde sıkıştırırlar. Ayrıca, Adobe Reader'da pdf'yi açıp tekrar kaydedersem, pdftk sonuçta ortaya çıkan pdf üzerinde iyi çalışır.

Nitro pdf'yi elimden gelenin en iyisini yapmaya çalıştım ve geçerli bir pdf gibi görünüyor. Burada neler olup bittiğine dair kafam çok karışık.

Sorunun arka planında, bu pdfs'den yüzlerce var ve dekompresyon işlemini otomatikleştirebilirsem yapabilmem gereken belirli anahtar kelimeleri aramaya çalışıyorum.

pdftk sürümü 2.5.0.36

Teşekkür 1.45
Windows 7 Home Premium SP1
Nitro Okuyucu 2 versiyonu, James sen pdftk bağlı değilseniz

cevap

2

Bu soruya geliştiriciden bir yanıt aldım. pdftk yolunda bir /DecodeParms [null] satırında bir hata olduğu ortaya çıktı.

Kod çözme parametreleri boşsa, bir yazar /DecodeParms hattını atlayabilir, ancak uyumlu bir okuyucu bunu her iki şekilde anlamalıdır. pdftk'un yeni sürümünü denedim ve sorun çözülmüş gibi görünüyor.

6

, sen qpdf kullanabilirsiniz. Örneğin, şunu kullanabilirsiniz: Ne değer lekeler varsa, bunlar hala ikili olarak görünebilir

$ qpdf --stream-data=uncompress input.pdf output.pdf 

için. Bununla birlikte, akımın geri kalanı sıkıştırılmayacaktır (pdftk veya qpdf ile). qpdf, yalnızca ya da yalnızca akışların açılmasını sağlar. qpdf kılavuzda itibaren

:

--stream-data = sıkıştırmayı belirtildi

, qpdf desteklediği olmayan herhangi kayıplı filtreleri kaldırabilirsiniz dener. Bu, /FlateDecode,/LZWDecode,/ASCII85Decode ve/ASCIIHexDecode içerir. Bu , çeşitli akışların içeriğini denetlemek için çok yararlı olabilir.

Aynı şey pdftk ile de olabilir.