Skip to content

Jak skopiować tekst z pliku PDF, zachowując formatowanie?

8 de lipiec de 2021
sshot510fe72ddead4

PDF, wszechobecny format dokumentów, doskonale nadaje się do udostępniania dokumentów przy jednoczesnym zachowaniu czcionek, obrazów i ogólnego układu na różnych platformach. Czy istnieje jednak prosty sposób na zachowanie tego samego formatowania podczas kopiowania i wklejania tekstu z dokumentu?

Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser — pododdziału Stack Exchange, społecznościowej grupy witryn z pytaniami i odpowiedziami.

Pytanie

Czytnik SuperUser Colen szuka sposobu na wyodrębnienie tekstu z plików PDF przy zachowaniu formatowania:

Kiedy kopiuję tekst z pliku PDF do edytora tekstu, zostaje on zniekształcony na różne sposoby. Utracono formatowanie, takie jak pogrubienie i kursywa; miękkie łamania wierszy w akapicie tekstu są konwertowane na twarde łamania wierszy; myślniki do łamania słowa w dwóch wierszach są zachowywane, nawet jeśli nie powinny; a pojedyncze i podwójne cudzysłowy są zastępowane przez ? oznaki.

W idealnej sytuacji chciałbym móc kopiować tekst z pliku PDF i konwertować formatowanie na kody HTML, „inteligentne cytaty” przekonwertować na „i” oraz poprawnie wykonywać podziały wierszy. Czy jest na to sposób?

Czy istnieje szybki i łatwy sposób dla Colen (i reszty z nas) na zdobycie tekstu bez poświęcania formatowania?

Odpowiedź

Współtwórca SuperUser Frabjous oferuje rozwiązanie połączone z dużą dozą ostrożności:

Po pierwsze, musisz zrozumieć, czym jest plik PDF. Pliki PDF mają naśladować wydrukowaną stronę i są zaprojektowane wyłącznie jako format wyjściowy, a nie format wejściowy. PDF to w zasadzie mapa zawierająca dokładną lokalizację znaków (pojedynczych liter lub znaków interpunkcyjnych itp.) lub obrazów. W większości przypadków plik PDF nie przechowuje nawet informacji o tym, gdzie kończy się jedno słowo, a zaczyna drugie, nie mówiąc już o miękkich złamaniach i twardych złamaniach końców akapitów.

(Kilka ostatnich plików PDF przechowuje pewne informacje na ten temat, ale jest to nowa technologia i będziesz miał szczęście znaleźć takie pliki PDF. Nawet jeśli tak, Twoja przeglądarka plików PDF może o tym nie wiedzieć).

W każdym razie to od twojego oprogramowania zależy, czy zaimplementuje pewnego rodzaju „sztuczną inteligencję”, aby wyodrębnić jedynie z lokalizacji poszczególnych znaków, co jest słowem, co jest akapitem i tak dalej. Różne oprogramowanie zrobi to lepiej niż inne i będzie to również zależeć od tego, w jaki sposób został utworzony plik PDF. W każdym razie nigdy nie powinieneś oczekiwać doskonałych rezultatów. Posiadanie wyjściowego pliku PDF to nie to samo, co posiadanie dokumentu źródłowego. O wiele lepiej spróbować to zdobyć, jeśli możesz.

Standardowym rozwiązaniem Twojego problemu jest użycie Adobe Acrobat Professional (drogo, a nie darmowego czytnika) do konwersji pliku PDF na HTML. Nawet to nie przyniesie doskonałych rezultatów.

Istnieje bezpłatne oprogramowanie, którego można użyć do wyodrębnienia tekstu z plików PDF z nienaruszonym formatowaniem, ale znowu nie oczekuj doskonałych wyników. Zobacz m.in. kaliber (który może konwertować do formatu RTF), pdftohtml/pdfreflow, lub edytor tekstu AbiWord (z włączonymi wszystkimi wtyczkami importu/eksportu). Dostępna jest również wtyczka do importowania plików PDF dla OpenOffice.

Ale proszę, nie oczekuj perfekcji z żadnym z tych wyników. Idziesz pod prąd. PDF nie jest po prostu edytowalnym formatem wejściowym.


Jeśli masz problem z podjęciem decyzji, od którego narzędzia zacząć, Calibre jest prawdziwym dokumentem szwajcarskiego scyzoryka. Możesz go również użyć do konwersji plików PDF do użytku w czytniku e-booków i uporządkowania biblioteki e-booków/dokumentów.

Masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych doświadczonych technologicznie użytkowników Stack Exchange? Sprawdź pełny wątek dyskusji tutaj.

Czy ten post był pomocny?