Mikä olisi helpoin tapa lukea pdf-tiedosto Javaan? Itse ohjelmassa olisi tarkoitus lukea pdf-tiedoston sisältämä teksti ja poimia sieltä kaikki tietyn muodon sisältävät merkkijonot.
PDF ei ole mitenkään yksinkertainen tiedostomuoto, joten helpoin on varmasti jokin ulkoinen kirjasto, joita näyttää kyllä olevan. Jos koodaat vain omaan käyttöösi, voit harkita myös ulkoisen pdftotext-ohjelman kutsumista, mutta ymmärrettävästi tämä ei ole kovin joustavaa levitettävässä ohjelmassa.
Koodaan vain ja ainoastaan omaan käyttöön. Ideana olisi helpottaa omaa työtä (pitäisi etsiä pitkähköstä pdf-tiedostosta asiakasnumeroita, jotka ovat tiettyä vakiomuotoa). Googlailin itsekin noita ulkoisia kirjastoja, mutta kiinnostaisi, että mistä ohjelmasta on parhaat kokemukset/jonka käyttäminen on helpointa. Ihan mikä tahansa jotenkin järkevästi toteutettava ratkaisu käypi.
Lisäys: Löysin toimivan. Näköjään iText toimii ja täyttää tarpeeni.
Hyvä, että löysit. Kun nyt kuitenkin ”mikä tahansa” käy, esitän vielä toisenlaisen ehdotuksen.
Jos tarkoitus on tosiaan vain hakea tiedostosta jotain tekstiä, joka on helppo erottaa muusta tekstistä, suosisin valmiita komentoriviohjelmia (pdftotext, sed, grep, cut). Esimerkiksi sähköpostiosoitteet voisi joissain tilanteissa hakea näin:
pdftotext data.pdf - | grep -aoP '\S+@\S+\.\S+'
Varsinaisia ohjelmointikieliä yleensä tarvitaan, jos kerättävä data pitää tunnistaa monimutkaisemmin ympärillä olevien tekstien perusteella tai jos kerätään useampaa asiaa. Silti esimerkiksi Python (tai Perl tai PHP) tuntuisi silloin ketterämmältä kuin Java.
Aihe on jo aika vanha, joten et voi enää vastata siihen.