2009-12-14 15 views
13

Próbuję przekonwertować programowo PDF na HTML. Do tej pory używałem pdftohtml, ale nasi użytkownicy nie są zadowoleni z wyników.Co to jest dobry konwerter plików PDF na HTML dla Ruby on Rails?

Oto, czego potrzebuję:

  • Używam Ruby on Rails, ale każde narzędzie działa na systemach Unix będzie działać jak mogę zadzwonić z linii poleceń. Ale oczywiście ładny klejnot lub wtyczka byłaby idealna.

  • Wolałbym go za Open Source

  • To musi być w stanie obrazy uchwyt

  • Byłoby miło, gdyby nie było możliwości, aby odrzucić obrazów razie potrzeby

  • Musi być stabilny

  • Musi zwrócić HTML z układem zbliżonym do oryginalnego pdf (próbowałem już pdftohtml, a wynik nie jest taki dobry w wielu przypadkach)

+0

Czy istnieje konkretny powód trzeba wyjście HTML, a nie coś innego? Jak podaje jedna z odpowiedzi, pdf i html to znacznie różne modele dokumentów. Jeśli znamy podstawowy wymóg, możemy zaproponować lepsze alternatywy ... – Stobor

+0

Obecna logika polega na uzyskaniu pliku pdf i wyświetleniu go jako HTML. W mojej firmie jest już kilka rozwiązań, ale ostateczne renderowanie nie jest dobre, więc chcą je poprawić. – marcgg

Odpowiedz

10

Oto kilka więcej alternatyw do pdftohtml/xpdf:

  • Adobe posiada bezpłatny PDF online do HTML lub tekst conversion service. Odzyskanie dokumentu może potrwać minutę lub dwie, ale podejrzewam, że ta opcja przyniosłaby najlepsze rezultaty.
  • Istnieje rubinowy klejnot pdf-reader, który daje dostęp do wewnętrznych elementów pliku PDF. Wymagałoby to pewnego rozwoju/rozszerzenia z twojej strony, ale możesz użyć tego do parsowania pliku PDF i wygenerowania ładnego HTML. Może to być łatwiejsze, niż się wydaje, jeśli wiesz, jakie typy plików konwertują użytkownicy przed czasem (np. Jeśli pracują ze standardowymi formularzami).
  • Możesz mieć więcej opcji, jeśli używasz ghostscript (gem znaleziona tutaj), aby najpierw przekonwertować plik PDF na inny format. Klejnot może generować obrazy (png, jpg, itp.) Z pliku PDF, ale możesz mieć najlepszy powodzenie, przekształcając go w plik PostScript, ponieważ wydaje się, że jest tam milion konwerterów "PostScript-to- [insert format here]".
+1

Jeśli chodzi o dokumenty PDF, które nie zostały przekonwertowane na format HTML, polecam przetestowanie kilku z usługą konwersji online Adobe. Jeśli nadal wyjdą poniżej normy, nie spędziłbym zbyt wiele czasu na szukaniu alternatyw, ponieważ wyobrażam sobie, że najlepsi konwertory Adobe byliby tam najlepsi. – bta

3

Jeśli wszystko inne zawiedzie, można skręcić w każdą stronę w obrazie (przy użyciu magii obrazu lub podobny) i wyświetlania zdjęć, a la http://books.google.com lub http://safari.oreilly.com. Byłby świstem pasma, ale zyskałbyś wierność oryginałowi.

+0

To interesujące rozwiązanie. Zajmę się tym – marcgg

+0

Tak właśnie zrobiłem, gdy potrzebowałem przekonwertować pliki PDF bardzo ładnie do innych formatów. – wesgarrison

+0

To rozwiązanie nie jest zbyt dobre, jeśli trzeba faktycznie przeanalizować tekst z pliku PDF. – lacostenycoder

0

Spróbuj użyć popplera lub xpdf. Ale potrzebuje trochę magii i wiązania.

+0

Co masz na myśli? – marcgg

+0

poppler może renderować pdf do czegoś innego. jeden z celów może być dla Ciebie akceptowalny. –

2

Spędziłem trochę czasu nad projektem badawczym, który wymagał pobrania plików PDF jako wkładu. To, o co prosisz, jest naprawdę trudnym zadaniem, a żadne oprogramowanie nie zrobi tego doskonale. Podczas gdy HTML ma pewną strukturę, taką jak <p>, PDF jest czysto prezentacyjny. Dokument HTML powie: "to jest akapit. To jest obraz". a interpretacja jest z tego interpretowana. Dokument PDF zasadniczo mówi: "ta postać powinna być wyrenderowana na pozycji X, Y. ten następny znak będzie renderowany na pozycji ..." itd. Tak więc nawet konstruowanie akapitów z tego może być trudne.

Pracowałem w Javie, więc nie sądzę, że konkretny program, którego użyłem, będzie dla ciebie bardzo przydatny.Przypominam też, że niektóre generatory PDF łączą obraz na mniejsze obrazy i wyświetlają je obok siebie - to był ogromny problem.

Czy istnieje sposób, w jaki można pracować w innym formacie lub obniżyć swoje oczekiwania? Mógłbyś zrobić zdjęcie, które sugeruje Wayne, ale to nie jest kod HTML (a to nie jest dostępne - czy to dla ciebie niepokojące?). To może być coś, z czym żyjesz.

0

możesz spróbować http://www.pdf-to-html-word.com/pdf-to-html , która działa naprawdę dobrze. Zapłaciłem za to po sprawdzeniu jego funkcjonalności. Masz wolną jazdę, aby go przetestować. Albo użyj Acrobat Pro i Zapisz jako HTML z CSS. To też działa. Ale to jest kłopot z plikiem plików.

0

Po użyciu pdftohtml od jakiegoś czasu i jest niezadowolony z wyników wyświetlanych w wersji HTML, Zastanawiam przy użyciu dokumentu Google Apps API lub API Scribd (mój ulubiony teraz)

http://www.scribd.com/developers/api

W końcu będę prawdopodobnie używać pdftohtml po prostu rozpakuj zawartość tekstową pliku pdf i Scribd API, aby wyświetlić oryginalny plik na stronie użytkownika

0

właśnie ukazał się klejnot ruby ​​do konwersji dokumentów z otwartym biuro bezgłowe (przez poyconverter lub jodconverter). integruje również kilka innych librairies (pdftools i netpbm), aby wyodrębnić obrazy tekstowe z plików pdf.

Można go znaleźć tutaj https://github.com/itkin/proselytism.git

Zapraszam do dodawania własnych konwertery i zgłosić mi jakieś problemy

5

PDF do konwersji HTML pdf2htmlEX wydaje się dość dobrym narzędziem (patrząc na wszystkich przykładach/próbki):

https://github.com/coolwanglu/pdf2htmlEX

+1

W moich ograniczonych testach daje szokująco dobre wyniki. – jshkol

+0

To jest gr8 narzędzie, ale jak połączyć z szynami? – BMW

+0

@BMW dobrym miejscem do rozpoczęcia jest projekt wiki: https://github.com/coolwanglu/pdf2htmlEX/wiki/Quick-Start. Myślę, że można go łatwo podłączyć do aplikacji szyny, używając wywołania 'system'. –