PDF dosyasındaki bir tablodan nasıl metin çıkarabilirim?


5

PDF formatında sahip olduğum akademik bir makalede açıklanan bir algoritmayı uygulamaya çalışıyorum. Algoritma, uygulamama kopyalamak istediğim 256 girişli bir tablo içeriyor. Ancak, tabloyu işleyebileceğim bir metin olarak kopyalayamıyorum. Sadece resim olarak kopyalayabilirim.

Masayı yazmadan kolayca nasıl çıkarabilirim?

Yanıtlar:


4

PDF2Table

Bu bence XML'e verir.

İnternette gezinirsek yığın halinde PDF dosyaları bulabiliriz . Bir keresinde inanılmaz bir beş mega piksel dijital kameranın teknik detayları, bir kez bir işletmenin son iki yıllık gelirleri hakkında bir istatistik ve bir kez de Sir Arthur Conan Doyle'un mükemmel bir suç romanı PDF dosyasına kaydedildi. Bu dosya formatının yaygın kullanımı, bu tür bir dosyadaki verilerin nasıl tekrar kullanılacağı sorusuna odaklanır. Bu alanda zaten pek çok şey yapıldı. Örneğin, PDF dosyalarını başka biçimlere dönüştüren birkaç araç vardır.

Çalışmam yalnızca PDF dosyalarından tablo bilgisinin çıkarılması üzerine odaklanıyor. PDF dosyalarından temel bilgileri çıkaran araçları aradım. XML biçiminde veri döndüren pdf2html adlı bir araç buldum. Bu XML çıktısına erişmek için JDOM arşivini kullandım.

Masa tespiti ve ayrıştırma için çeşitli buluşlar geliştirdim. Bu sezgisel taramalar, berrak masalarda (yayılma sütunları ya da satırlar olmadan) oldukça iyi ve karmaşık masalarda (yayılma sıraları ya da sütunları ile) oldukça iyi çalışır.

Sourceforge bağlantısı


4
  1. Kuruluşundan PDF formatında (20'den fazla yıl önce) ekstrakte, anlamlı yapısal veri ev sahibi olması amaçlanmıştır edildi asla .

  2. Asıl amacı, belgedeki metinlerin, görüntülerin ve şemaların güvenilir bir görsel temsili olmaktı - bir tür dijital kağıt (ayrıca baskı yoluyla gerçek kağıda güvenle aktarılır). Ancak daha sonra geliştirilmesinde daha fazla özellik eklendi, aralarında bazıları tekrar veri çıkarmaya yardımcı olmalı ( Tagged PDF için google ).

  3. PDF'lerden veri tabloları kazınırken ortaya çıkan bazı sorun örnekleri için bu makaleye bakın:

  4. '1' noktasında çelişen yukarıda , şimdi şunu söylüyorum: PDF’lerden tablo verilerini çıkarmak için haftadan haftaya daha iyi ve daha iyi olan harika bir araç ailesi için (taranmış sayfalar olmadıkça), şu bağlantılara bakın:

Öyleyse git Tabula'yı ara. Herhangi bir araç istediğinizi yapabilirse, şu anda (bu soru sorulduktan 4 yıl sonra) Tabula iş için muhtemelen en iyiler arasında!


Not: Tabula Ruby'de yazılmış Ücretsiz ve Açık Kaynak Kodlu bir Yazılımdır.


2

Sizin probleminiz, asıl yazarın resmi olarak pdf'e yapıştırılmış olması olabilir. Bu durumda (belgedeki diğer metinlerin metin olarak kopyalanıp kopyalanmayacağını görerek öğrenebilirsiniz), tek seçenekleriniz muhtemelen elle kopyalamaktır (tür dokunabileceğinizi umarsınız) veya tarayıcılarla birlikte gelen OCR yazılımını kullanmaktır.


Ne yazık ki, durum böyle görünüyor. Ancak, Ivo'nun cevabı sorunu çözmese de, genel davanın cevabı olma ihtimalinin yüksek olması nedeniyle kabul etmeyi tercih ediyorum.
Nathan Fellman

1

Bunu denemedim, ancak pdf2table projesi yardımcı olabilir.


Bu adamcağız (çıkış xml üreten sonsuz bir döngü var) ve oldukça unidiomatic Java ile yazılmış (bu yüzden anlamak ya da değiştirmek çok kolay değil). Başka seçeneğin olursa uzak dururum.
Barry Kelly

0

Ücretsiz olmayan uygulama PDF2XL ve ücretsiz PDF Mekanik , tablonun tam biçimlendirmesine bağlı olarak tablo verilerini CSV ve Excel'e sık sık mükemmel şekilde çıkarabilir.


0

Bir seçenek, belgeyi (veya yalnızca istediğiniz tabloyu içeren sayfayı) xml dosyası olarak kaydetmek gibi görünüyor. Bunu sadece Adobe Acrobrat Pro'da "XML Spreadsheet 2003" olarak kaydederek yaptım. Bu, ortaya çıkan xml dosyasındaki tablo biçimini korudu (Excel'de görüntülenebilir). Tek "kusur", tablodaki her değişmez satırı Excel dosyasındaki bir satır olarak görmesidir. Bu nedenle, herhangi bir metin satırları aşarsa (örneğin, uzun adlar), o zaman excel'de iki satır olarak görünür. Küçük bir masa için bu oldukça küçük bir temizlik.

Bundan başka, bu işlem otomatik olabilir gibi görünüyor.

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.