Hoe kan ik tekst uit een PDF kopiëren terwijl ik het formatteren behoud?
PDF, de alomtegenwoordige documentindeling, is geweldig voor het delen van documenten met behoud van lettertypen, afbeeldingen en de algemene lay-out op verschillende platforms. Is er echter een eenvoudige manier om diezelfde opmaak te behouden bij het kopiëren en plakken van tekst uit het document?
De Question & Answer-sessie van vandaag komt tot ons dankzij SuperUser - een onderdeel van Stack Exchange, een gemeenschapsgedreven groep van Q & A-websites.
De vraag
SuperUser-lezer Colen is op zoek naar een manier om tekst uit PDF's te halen met behoud van de opmaak:
Wanneer ik tekst uit een PDF-bestand en in een teksteditor kopieer, raakt deze op verschillende manieren verminkt. Opmaak zoals vet en cursief gaan verloren; zachte regeleinden in een alinea tekst worden geconverteerd naar harde regeleinden; streepjes om een woord te breken over twee regels blijven behouden, zelfs als ze dat niet zouden moeten zijn; en enkele en dubbele aanhalingstekens worden vervangen door? tekenen.
In het ideale geval zou ik graag tekst van een PDF kunnen kopiëren en de opmaak omgezet naar HTML-codes, "slimme aanhalingstekens" geconverteerd naar "en" en regelafbrekingen goed gedaan. Is er een manier om dit te doen?
Is er een snelle en gemakkelijke manier voor Colen (en de rest van ons) om grab-tekst te krijgen zonder de opmaak op te offeren?
Het antwoord
SuperUser-bijdrager Frabjous biedt een oplossing in combinatie met een hoge dosis voorzichtigheid:
Allereerst moet je begrijpen wat een PDF is. PDF's zijn ontworpen om een afgedrukte pagina na te bootsen, en ze zijn alleen ontworpen als een uitvoerindeling, niet als een invoerindeling. een PDF is in feite een kaart met de exacte locatie van tekens (individuele letters of interpunctie, enz.) of afbeeldingen. In de meeste gevallen slaat een PDF zelfs geen informatie op over waar het ene woord eindigt en het andere begint, laat staan zaken als zachte onderbrekingen versus harde onderbrekingen voor alinea-eindes.
(Een paar recente PDF's slaan wat informatie over dit spul op, maar dat is een nieuwe technologie, en je zult geluk hebben dat je zulke pdf's vindt. Zelfs als je dat wel zou weten, weet je PDF-viewer dat misschien niet.)
Hoe dan ook, het is aan je software om een soort "kunstmatige intelligentie" te implementeren om alleen uit de locaties van individuele karakters te halen wat een woord is, wat een alinea is, enzovoort. Verschillende software gaat dit beter doen dan anderen, en het zal ook afhangen van hoe de PDF is gemaakt. In elk geval mag u nooit perfecte resultaten verwachten. Het hebben van de uitvoer-PDF is niet hetzelfde als het hebben van het brondocument. Het is veel beter om dat te proberen als je kunt.
De standaardoplossing voor uw soort probleem is om Adobe Acrobat Professional (de dure versie, niet de gratis reader) te gebruiken om de PDF naar HTML te converteren. Zelfs dat gaat geen perfect resultaat opleveren.
Er is gratis software die kan worden gebruikt om tekst uit PDF's te extraheren met een deel van de opmaak intact, maar nogmaals, verwacht geen perfecte resultaten. Zie bijvoorbeeld kaliber (dat kan worden geconverteerd naar RTF-indeling), pdftohtml / pdfreflow of de AbiWord-tekstverwerker (waarbij alle import- / exportplug-ins zijn ingeschakeld). Er is ook een PDF-import-plug-in voor OpenOffice.
Maar verwacht alsjeblieft geen perfectie met een van deze resultaten. Je gaat hier tegen de stroom in. PDF is gewoon niet bedoeld als een bewerkbaar invoerformaat.
Als je problemen hebt om te beslissen welke tool je moet gebruiken, is Caliber een echt Zwitsers zakmes. U kunt het ook gebruiken om PDF-bestanden te converteren voor gebruik op uw e-boeklezer en uw e-boek / documentbibliotheek te ordenen.
Heb je iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk hier de volledige discussiethread.