Pdf.js: mencari dengan ctrl+f tidak berfungsi dengan dua kata

Dibuat pada 17 Mei 2018  ·  4Komentar  ·  Sumber: mozilla/pdf.js

Lampirkan (disarankan) atau Tautkan ke file PDF di sini:
dee752ed0f726d8785abf360ca783d91f96f9a2e.pdf

Konfigurasi:

  • Peramban web dan versinya: Firefox 60/Chromium 66
  • Sistem operasi dan versinya: Linux/Windows 7
  • Versi PDF.js: v1.10.88 atau v1.9.426 atau versi bawaan Firefox 60

Langkah-langkah untuk mereproduksi masalah:

  1. Tekan ctrl+f dan cari "pelopor"
  2. Pioneer akan disorot, tetapi segera setelah Anda mengetik spasi, tidak ada hasil yang ditemukan

pdftotext menunjukkan teks yang benar:

in nit ris hington 1D C
boerge W lacan a pioneer of butali
and an influential man aw at richfield last walk

Ini berfungsi di penampil PDF bawaan chrome, jadi itu bukan masalah dengan pdf.

Tautan ke pemirsa (jika dihosting di situs selain mozilla.github.io/pdf.js atau sebagai ekstensi Firefox/Chrome):
https://newspapers.lib.utah.edu/pdfjs1.9/web/viewer.html?file=/udn_files/de/e7/dee752ed0f726d8785abf360ca783d91f96f9a2e.pdf

4-text-selection

Komentar yang paling membantu

Saya ingin sekali mengerjakan ini,
@timvandermeij Tolong bantu saya, dari mana harus memulai saat mengerjakan masalah ini

Semua 4 komentar

Saya ingin sekali mengerjakan ini,
@timvandermeij Tolong bantu saya, dari mana harus memulai saat mengerjakan masalah ini

Saya akan menyarankan untuk memeriksa terlebih dahulu apa yang kami miliki di lapisan teks karena itu mungkin menjelaskan mengapa pencarian tidak berfungsi. Dugaan saya adalah bahwa faktor ruang tidak benar; lihat: https://github.com/mozilla/pdf.js/blob/7bb066494f3f15c396941c3532b83da6d3465c6b/src/core/evaluator.js#L1303

Ini kemungkinan besar juga penyebab banyak masalah pemilihan teks terbuka lainnya. Namun, mengubah nilai mungkin rawan kesalahan untuk file PDF lainnya dan akan membutuhkan pengujian yang baik. Kita mungkin perlu memeriksa bagaimana penampil PDF open source lainnya (seperti Poppler) melakukan ini, karena masalahnya adalah spesifikasi PDF tidak menunjukkan kapan spasi harus digunakan untuk pemilihan teks. Itu hanya menentukan lebar jarak antar karakter.

Sayangnya https://github.com/mozilla/pdf.js/issues/9736#issuecomment -390629834 tidak akan membantu di sini, karena ini adalah file yang dipindai di mana setiap kata diposisikan secara individual dengan ukuran font dan koordinat x/y yang berbeda; lihat misalnya awal dari aliran /Contents :

1 G
1 g
1 0 0 1 52 1145.37 Tm
/F1 11 Tf
(UTAH)Tj
1 0 0 1 90 1146.36 Tm
/F1 11 Tf
(NEWS)Tj
1 0 0 1 29 1124.14 Tm
/F1 10 Tf
(the)Tj
1 0 0 1 44 1126.03 Tm
/F1 8 Tf
(oregon)Tj
1 0 0 1 71 1124.47 Tm
/F1 9 Tf
(short)Tj
1 0 0 1 92 1125.47 Tm
/F1 9 Tf
(line)Tj

...

Halo teman-teman, karena saya yakin Anda mengetahui bahwa proyek rendering PDF lainnya juga mengalami hal ini. Saat ini saya menggunakan aplikasi web (Nextcloud) yang menggunakan pdf.js sebagai perender PDF untuk aplikasi browsernya.

Berikut adalah contoh file yang telah saya kerjakan di utilitas lain. Ini adalah kutipan pindaian dari manual layanan autopilot pesawat, awalnya dicetak pada tahun 1970-an pada peralatan yang tidak diketahui.

CenturyIIB-origscan.pdf
CenturyIIB-tesseract_hocr-uncleaned.pdf
CenturyIIB-tesseract_hocr-cleaned.pdf

File pertama adalah scan asli tanpa lapisan teks. Yang kedua (hocr-uncleaned) adalah PDF/A yang telah diproses dengan Tesseract (v4.0) untuk membuat layer teks tersembunyi. Yang ketiga (hocr-uncleaned) telah dihilangkan dengan

Dalam kasus kedua dan ketiga, opsi rendering 'hocr' dengan Tesseract digunakan untuk tahap rendering OCR (Tesseract memiliki beberapa perender internal). Jika Anda melihat forum masalah Tesseract di github, Anda akan melihat bahwa mereka telah membuat beberapa perubahan pada penyaji terbaru mereka dalam upaya untuk mengatasi masalah ini juga.

Berikut adalah beberapa kutipan yang disalin/ditempel dari berbagai utilitas...

hocr-unlceaned di Safari 11.1 (13605.1.33.1.4)

The Century IIB Autopilot is an "Open Loop" system which responds only to the dynamics of the aircraft in flight, thus the only ground checks that can be accomplished are functional checks as described in this bulletin.

hocr-uncleaned di Chrome 66.0.3359.181

The Century IIB Autopilot is an "Open Loop" system which responds only to the dynamics of the aircraft in flight, thus the only ground checks that can be accomplished are functional checks as described in this bulletin.

hocr-uncleaned pada Adobe Acrobat Pro X

The Century IIB Autopilot is an "Open Loop" system which responds only to the
dynamics of the aircraft in flight, thus the only ground checks that can be
accomplished are functional checks as described in this bulletin.

hocr-uncleaned pada pdf.js (Firefox 60.0.1)

Century
IIB
Autopilot
is
an
"Open Loop"
system
which
responds
only
to
the
dynamics
of
the
aircraft
in
flight,
thus
the
only
ground
checks
that
can
be
accomplished
are
functional
checks
as
described
in
this
bulletin.

hocr-cleaned pada versi Safari yang sama di atas

The Century IIB Autopilot is an "Open Loop’ system which responds only to the dynamics of the aircraft in flight, thus the only ground checks that can be accomplished are functional checks as described in this bulletin.

hocr-cleaned pada versi Chrome yang sama di atas

The Century IIB Autopilot is an "Open Loop’ system which responds only to the
dynamics of the aircraft in flight, thus the only ground checks that can be
accomplished are functional checks as described in this bulletin. 

hocr-cleaned pada versi yang sama dari Adobe Acrobat Pro di atas

The Century IIB Autopilot is an "Open Loop’ system which responds only to the
dynamics of the aircraft in flight, thus the only ground checks that can be
accomplished are functional checks as described in this bulletin.

hocr-cleaned pada versi yang sama dari pdf.js (Firefox) di atas

Century 
IIB 
Autopilot 
is 
an 
"Open 
Loop’ 
system 
which 
responds 
only 
to 
the 
dynamics 
of 
the 
aircraft 
in 
flight, 
thus 
the 
only 
ground 
checks 
that 
can 
be 
accomplished 
are 
functional 
checks 
as 
described 
in 
this 
bulletin. 

Bagi siapa saja yang mungkin ingin mereproduksi rantai alat saya untuk file sampel lainnya ( utama /_depedency_)...

tesseract 4.00.00alpha (untuk OCR)
_leptonika 1.76.0
libjpeg-turbo 1.5.3
libpng 1.6.34+apng
libtiff 4.0.9_

unpaper 6.1 (untuk de-skew, de-noise, dll)
_libav 12.1
opencv 2.4.13.1
tipe bebas2 2.8_

qpdf 8.0.1 (untuk pemeriksaan/modifikasi/pembuatan pdf)
_ghostscript 9.16_

OCRmyPDF 6.2.0 (pembungkus python v3 untuk utilitas di atas)

Semua hal di atas ada di hampir semua repo paket Linux umum, OCRmyPDF ada di pip, dan semua build modern juga ada di Homebrew untuk OSX (tesseract harus ditandai ke git HEAD mereka karena v4.0 masih ditandai beta) . Saya juga telah menjalankan semuanya di FreeBSD (harus membangun Tesseract, Leptonica, dan membuka kertas dari sumber). Tesseract/Leptonica adalah dasar yang bagus untuk digunakan untuk membuat file pengujian seperti itu, menurut saya. Mereka telah membawa OCR open source maju dengan pesat. Berikut adalah contoh dari pemindaian dokumen abad ke-18 yang bahkan melakukan pekerjaan yang mengagumkan, meskipun tidak mengetahui apa itu 'S panjang dan menyalinnya ke huruf kecil' f.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

anggikolo11 picture anggikolo11  ·  3Komentar

aaronshaf picture aaronshaf  ·  3Komentar

timvandermeij picture timvandermeij  ·  4Komentar

hp011235 picture hp011235  ·  4Komentar

liuzhen2008 picture liuzhen2008  ·  4Komentar