it-swarm.asia

OCR ile metin, Linux'ta PDF kodundan nasıl çıkarılır?

Dizini olmayan bir PDF'den nasıl metin çıkartırım? Hepsi metin, ancak hiçbir şey arayamıyorum veya seçemiyorum. Kubuntu'yu çalıştırıyorum ve Okular'ın bu özelliği yok.

41
hsribei

BSD lisanslı Linux Cuneiform port OCR sistemi ile başarılı oldum.

Hiçbir ikili paket mevcut görünmüyor, bu nedenle kaynaktan oluşturmalısınız. ImageMagick C++ kütüphanelerinin temelde herhangi bir giriş görüntü formatını desteklemesi için kurulu olduğundan emin olun (aksi takdirde sadece BMP'yi kabul eder).

Esasen kısa bir README dosyadan ayrı olarak belgelenmemiş gözükse de, OCR sonuçlarını oldukça iyi buldum. Bununla ilgili güzel bir şey, OCR metni için konum bilgisi çıktısını hOCR biçiminde gösterebilmesidir, böylece metni, PDF dosyası. Bu şekilde, metin kopyalayabileceğiniz "aranabilir" PDF'ler oluşturabilirsiniz.

PDF'leri yalnızca görüntüdeki orijinal PDF ve OCR sonuçlarının dışında yeniden oluşturmak için hocr2pdf kullandım. Ne yazık ki, program çok sayfalı PDF'ler oluşturmayı desteklemiyor gibi görünüyor, bu yüzden bunları işlemek için bir komut dosyası oluşturmanız gerekebilir:

#!/bin/bash
# Run OCR on a multi-page PDF file and create a new pdf with the
# extracted text in hidden layer. Requires cuneiform, hocr2pdf, gs.
# Usage: ./dwim.sh input.pdf output.pdf

set -e

input="$1"
output="$2"

tmpdir="$(mktemp -d)"

# extract images of the pages (note: resolution hard-coded)
gs -SDEVICE=tiffg4 -r300x300 -sOutputFile="$tmpdir/page-%04d.tiff" -dNOPAUSE -dBATCH -- "$input"

# OCR each page individually and convert into PDF
for page in "$tmpdir"/page-*.tiff
do
    base="${page%.tiff}"
    cuneiform -f hocr -o "$base.html" "$page"
    hocr2pdf -i "$page" -o "$base.pdf" < "$base.html"
done

# combine the pages into one PDF
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile="$output" "$tmpdir"/page-*.pdf

rm -rf -- "$tmpdir"

Lütfen yukarıdaki komut dosyasının çok temel olduğunu unutmayın. Örneğin, PDF meta verilerini korumaz.

25
Jukka Matilainen

Bakalım pdftotext sizin için işe yarayacak. Makinenizde değilse, poppler-utils paketini yüklemeniz gerekir.

Sudo apt-get install poppler-utils 

Ayrıca pdf toolkit kullanım alanını da bulabilirsiniz.

Pdf yazılımının tam listesi burada wikipedia'da.

Düzen: Siz OCR yeteneklerine ihtiyacınız olduğundan, farklı bir yapmayı denemeniz gerektiğini düşünüyorum . (Yani, OCR yapan bir linux pdf2text dönüştürücü bulamadım).

  • PDF'yi bir resme dönüştür
  • Görüntüyü OCR araçlarını kullanarak metne tarayın

PDF'yi resme dönüştürün

  • gs: below komut , çok sayfalı pdf dosyasını tek tek tiff dosyalarına dönüştürmelidir.

    gs -SDEVICE = tiffg4 -r600x600 -sPAPERSIZE = letter -sOutputFile = dosyaadı_% 04d.tif -dNOPAUSE -dBATCH - dosyaadı

  • ImageMagik utilities : SuperUser sitesinde, ImageMagik'i kullanmanızla ilgili olarak dönüşüm yapmanıza yardımcı olacak başka sorular da var.

    foo.pdf dönüştürmek foo.png

Resmi OCR ile metne dönüştürün

Wikipedia'dan alınmıştır OCR yazılımının listesi

13
nagul

Google docs olacak şimdi yüklenen resminizi/pdf belgelerinizi metne dönüştürmek için OCR kullanın. Bununla başarılı oldum.

Devasa Google Kitaplar projesi için kullanılan OCR sistemini kullanıyorlar.

Ancak, yalnızca 2 MB boyutunda PDF'lerin işleme için kabul edileceği belirtilmelidir.

Güncelleme
1. Denemek için, bir web tarayıcısından google doc'lara <2MB pdf yükleyin.
2. Yüklenen dokümanı sağ tıklayın ve "Google Dokümanlar ile Aç" ı tıklayın.
... Google Dokümanlar, metne dönüştürecek ve aynı adı taşıyan yeni bir dosyaya dönüştürecek, ancak Google Dokümanlar aynı klasöre yazacaktır.

11
Russ

Geza Kovacs, Jukka'nın önerdiği şekilde hocr2pdf komutunu kullanan bir betik olan bir Ubuntu paketi hazırladı, ancak kurulum işlemini biraz daha hızlı hale getiriyor.

Geza's Ubuntu'dan forum yazısı paketin detayları ile ...

Depo ekleme ve Ubuntu’ya yükleme

Sudo add-apt-repository ppa:gezakovacs/pdfocr
Sudo apt-get update
Sudo apt-get install pdfocr

Bir dosyada ocr çalıştırma

pdfocr -i input.pdf -o output.pdf

GitHub kodu için kod deposu https://github.com/gkovacs/pdfocr/

2
ryanjdillon

PDFBeads benim için iyi çalışıyor. Bu konu “ Taranan Resimleri Tek Bir _e Dönüştür PDF Dosya ” beni çalıştırmaya başladı. Bir b & w kitap taraması için yapmanız gerekenler:

  1. PDF'nin her sayfası için bir resim oluşturun; Yukarıdaki gs örneklerinden herhangi biri çalışmalı
  2. Her sayfa için hOCR çıktısı oluşturun; Tesseract kullandım (ancak Çivi yazısı daha iyi çalışıyor gibi görünüyor).
  3. Görüntüleri ve hOCR dosyalarını yeni bir klasöre taşıyın; dosya adları karşılık gelmelidir, bu nedenle file001.tif file001.html, file002.tif file002.html, vb. gerekir.
  4. Yeni klasörde, çalıştır

    pdfbeads * > ../Output.pdf
    

Bu, harmanlanmış, OCR'd PDF üst dizine koyacaktır.

1
scruss

tesseract kullanarak başka bir script:

#!/bin/bash
# Run OCR on a multi-page PDF file and create a txt with the
# extracted text in hidden layer. Requires tesseract, gs.
# Usage: ./pdf2ocr.sh input.pdf output.txt

set -e

input="$1"
output="$2"

tmpdir="$(mktemp -d)"

# extract images of the pages (note: resolution hard-coded)
gs -SDEVICE=tiff24nc -r300x300 -sOutputFile="$tmpdir/page-%04d.tiff" -dNOPAUSE -dBATCH -- "$input"

# OCR each page individually and convert into PDF
for page in "$tmpdir"/page-*.tiff
do
    base="${page%.tiff}"
    tesseract "$base.tiff" $base
done

# combine the pages into one txt
cat "$tmpdir"/page-*.txt > $output

rm -rf -- "$tmpdir"
1
tolima

En iyi ve en kolay yolu orada pypdfocr kullanmak pdf değişmez

pypdfocr your_document.pdf

Sonunda, aranabilir metinle istediğiniz şekilde başka bir your_document_ocr.pdf olacaktır. Uygulamaya, görüntünün kalitesini değiştirmez. Kaplama metnini ekleyerek dosyanın boyutunu biraz yükseltir.

Güncelleme 3 Kasım 2018:

pypdfocr, 2016'dan beri artık desteklenmiyor ve telaşlanmadığı için bazı sorunlar fark ettim. ocrmypdf ( module ) benzer bir iş yapar ve bu şekilde kullanılabilir:

ocrmypdf in.pdf out.pdf

Yüklemek:

pip install ocrmypdf

veya

apt install ocrmypdf
1

Asprise OCR Library Linux’un çoğu sürümünde çalışır. PDF giriş ve çıkışını arama PDF olarak alabilir.

Ticari bir paket. Buradan Asprise OCR SDK'nın bir kopyasını buradan indirin ve şu şekilde çalıştırın:

aocr.sh input.pdf pdf

Not: Bağımsız 'pdf' çıktı formatını belirtir.

Feragatname: Yukarıdaki ürünü üreten şirketin bir çalışanıyım.

1
Asprise Support

PDF Dosyasındaki metin içeriğini çıkarmak için Apache PDFBox komutunu deneyin. PDF dosyalarına gömülü görüntülerin kullanılması durumunda, metin çıkarmak için ABBYY FineReader Engine CLI kullanın.

0