Dijital olarak oluşturulmuş bir PDF'yi aranabilir bir PDF'den nasıl ayırt edebilirim?

Aug 19 2020

Şu anda bir dizi PDF dosyasını analiz ediyorum. PDF dosyalarının kaçının bu 3 kategoriye girdiğini bilmek istiyorum:

  • Dijital Olarak Oluşturulan PDF: Metin oradadır (kopyalanabilir) ve doğrudan örneğin Word'den oluşturulduğu için doğru olması garanti edilir.
  • Yalnızca görüntü içeren PDF: Taranmış bir belge
  • Aranabilir PDF: Taranmış bir belge, ancak bir OCR motoru kullanıldı. OCR motoru, içeriği arayabilmeniz / kopyalayabilmeniz için metni resmin "altına" yerleştirir. OCR oldukça iyi olduğundan, bu çoğu zaman doğrudur. Ancak doğru olduğu garanti edilmez.

Her PDF metin içerdiğinden, etki alanımda Yalnızca görüntü içeren PDF'leri belirlemek kolaydır. Herhangi bir metni çıkaramazsam, bu yalnızca görüntüdür. Ama "sadece" aranabilir bir PDF mi yoksa dijital olarak oluşturulmuş bir PDF mi olduğunu nasıl anlarım?

Bu arada, Yapımcı alanının "Microsoft Word" dediği taranmış belgeleri gördüğüm kadar sadece üreticiye bakmak kadar basit değil.

Not: Bir insan olarak kolaydır. Sadece metni yakınlaştırıyorum. Piksel görürsem, "sadece" aranabilir.

Çözümleri test etmek için 3 örnek PDF dosyası:

  • Dijital Olarak Oluşturulan PDF
  • Taranmış PDF : Şey .. gerçekten değil; Görüntüleri oluşturmak için bir komut dosyası kullandım ve bunları bir PDF olarak bir araya getirdim. Ancak bu sadece kalitenin çok iyi olduğu anlamına gelir. Taramaya çok benzemelidir.
  • Aranabilir PDF

Ne denedim / düşündüm

  • Oluşturucuyu / yapımcıyı kullanma : Taranan belgelerde "Microsoft Word" görüyorum. Ayrıca bu sıkıcı olurdu.
  • Gömülü yazı tipleri : Gömülü yazı tiplerini çıkartabilirsiniz . Fikir, taranan bir belgenin gömülü yazı tiplerine sahip olmayacağı, sadece varsayılanı kullanmasıydı. Örnekle de görebileceğiniz gibi, fikir yanlıştı.

Yanıtlar

2 JorjMcKie Aug 20 2020 at 14:47

PyMuPDF ile, @ypnos'un önerisi için gereken tüm metni kolayca kaldırabilirsiniz.

Alternatif olarak, PyMuPDF ile metnin bir PDF'de gizli olup olmadığını da kontrol edebilirsiniz. PDF'nin ilgili "mini dilinde" bu, komutla tetiklenir 3 Tr("metin oluşturma modu", örneğin bkz. Sayfa 402,https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/pdf_reference_1-7.pdf). Dolayısıyla, tüm metin bu komutun etkisi altındaysa, hiçbiri işlenmeyecektir - "bu bir OCR'lanmış sayfadır" sonucuna izin verir.