Domanda

Sto cercando un modo veloce e affidabile per leggere / analizzare i file PDF di grandi dimensioni in Ruby (su Linux e OSX).

Fino ad ora ho trovato piuttosto vecchio e semplice PDF-toolkit (una pdftotext -wrapper) e PDF-reader , che era in grado di leggere la maggior parte dei miei file. Anche se le due biblioteche forniscono esattamente le funzionalità che stavo cercando.

La mia domanda: Ho perso qualcosa? Esiste uno strumento che è più adatto (più veloce e affidabile) per risolvere il mio problema?

È stato utile?

Soluzione

Si potrebbe trovare Docsplit utili:

  

Docsplit è un'utility a riga di comando e libreria Ruby per la scissione a parte i documenti in loro componenti: ricercabile UTF-8 testo, immagini di pagina o le miniature in qualsiasi formato, file PDF, pagine singole, e metadati del documento (titolo, autore, numero di pagine ...)

Altri suggerimenti

Dopo aver provato diversi metodi, sto usando PDF-Toolkit ora. E 'abbastanza vecchio, ma è veloce, stabile e affidabile. Inoltre, in realtà non ha bisogno di essere nuovo, perché avvolge solo le xpdf riga di comando utilità.

Si potrebbe utilizzare JRuby e un parser libreria Java PDF come ApachePDFBox ( https: //www.ohloh .net / p / PDFBox ). Vedi anche http://java-source.net/open-source/pdf-libraries .

Ecco alcune opzioni:

http://en.wikipedia.org/wiki/List_of_PDF_software

Da quel link, e sourceforge la ricerca, ci sono un paio di utility a riga di comando che potrebbe fare quello che vuoi, come questo: http://pdftohtml.sourceforge.net/

A seconda delle vostre esigenze e quali sono i file PDF assomigliano, si poteva guardare utilizzando l'API di Google Docs (caricamento del PDF e poi scaricarlo come testo), o potrebbe anche provare qualcosa di simile gocr . Ho avuto un sacco di fortuna l'analisi del testo di immagine con gocr in passato, e si sarebbe semplicemente far rimbalzare fuori alla shell di farlo, come gocr -i whatever.pdf (penso che funziona con i file PDF).

L'aspetto negativo di tutti questi è che sono implementazioni puro-Ruby, ma un sacco di buoni (e libero) progetti OCR sembra essere fatto in quel modo.

Se avete solo bisogno di ottenere il contenuto del testo da un file pdf, pdftohtml su SourceForge è efficiente. non è adatto per trattare con le immagini.

Hai avuto uno sguardo al CombinePDF biblioteca?

E 'una soluzione rubino puro che permette una certa manipolazione PDF, come pagine estrazione, sovrapponendo una pagina PDF rispetto ad un altro, la numerazione delle pagine, la scrittura del testo e le tabelle di base, ecc'.

Ecco un esempio per stumping un file PDF esistente con un logo. L'esempio legge un file PDF, estrae una pagina da utilizzare come timbro e francobolli un altro file PDF.

require 'combine_pdf'
company_logo = CombinePDF.load("company_logo.pdf").pages[0]
pdf = CombinePDF.load "content_file.pdf"
pdf.pages.each {|page| page << company_logo}
pdf.save "content_with_logo.pdf"

È anche possibile stampare testo, pagine numerici o uso:

require 'combine_pdf'

pdf = CombinePDF.load "content_file.pdf"

pdf.number_pages #adds page numbers. you can add formatting and placement options.

pdf.pages.each {|page| page.textbox "One Way To Stamp"}

#you can a shortcut method to stamp pages
pdf.stamp_pages "Another way to stamp"

#you can use the shortcut method for both text and PDF stamps
company_logo = CombinePDF.load("company_logo.pdf").pages[0]
pdf.stamp_pages company_logo

# you can use write simple tables
pdf.pages[0].write_table headers: ['first name', 'surname'], table_data: [['John', 'Doe'], ['Mr.', 'Smith']]

pdf.save "content_with_logo.pdf"

Non è pensato per operazioni complesse, ma integra la maggior parte delle librerie PDF di authoring e consente di utilizzare modelli PDF invece di scrivere il tutto da zero.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top