Ten eerste moet je begrijpen wat een PDF is. PDF’s zijn ontworpen om een gedrukte pagina na te bootsen, en ze zijn ontworpen alleen als een output formaat, niet als een input formaat. een PDF is in principe een kaart die de exacte locatie van tekens (individuele letters of interpunctie, enz.) of afbeeldingen bevat. In de meeste gevallen slaat een PDF niet eens informatie op over waar het ene woord eindigt en het andere begint, veel minder dingen als zachte pauzes versus harde pauzes voor alinea-einden.
(Een paar recente PDF’s slaan wel wat informatie over dit soort dingen op, maar dat is een nieuwe technologie, en je hebt geluk dat je zulke PDF’s kunt vinden. Zelfs als je dat zou doen, zou je PDF viewer het misschien niet weten.)
Hoe dan ook, het is aan je software om een soort “kunstmatige intelligentie” te implementeren om alleen maar uit de locaties van individuele karakters te halen wat een woord is, wat een alinea is, enzovoort. Andere software zal dit beter doen dan andere, en het zal ook afhangen van de manier waarop de PDF is gemaakt. In ieder geval moet u nooit een perfect resultaat verwachten. Het hebben van de uitvoer-PDF is niet hetzelfde als het hebben van het brondocument. Veel beter is het om te proberen dat te verkrijgen als je dat kunt.
De standaard oplossing voor jouw soort probleem is om Adobe Acrobat Professional (de dure, niet de gratis reader) te gebruiken om de PDF naar HTML te converteren. Zelfs dat zal geen perfect resultaat opleveren.
Er is gratis software die gebruikt kan worden om tekst uit PDF’s te extraheren met enige opmaak intact, maar nogmaals, verwacht geen perfect resultaat. Zie bijvoorbeeld kaliber (dat naar RTF-formaat kan worden geconverteerd), pdftohtml/pdfreflow of de AbiWord tekstverwerker (met alle import/exportplugins ingeschakeld). Er is ook een PDF-importplugin voor OpenOffice.
Maar verwacht geen perfectie met een van deze resultaten. Je gaat hier tegen de stroom in. PDF is gewoon niet bedoeld als een bewerkbaar invoerformaat.