11Sep

Hur kan jag kopiera text från en PDF samtidigt som formatering behålls?

PDF, det allestädes närvarande dokumentformatet, är utmärkt för att dela dokument samtidigt som du behåller teckensnitt, bilder och den allmänna layouten över plattformar. Finns det emellertid ett enkelt sätt att bevara den mycket formateringen när man kopierar och klistrar text ut ur dokumentet?

Dagens fråga &Svarssession kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.

Frågan

SuperUser-läsare Colen söker efter ett sätt att extrahera text från PDF-filer samtidigt som formateringen bevaras:

När jag kopierar text ur en PDF-fil och till en textredigerare, hamnar det på många olika sätt. Formatering som fet och kursiv förloras;Mjuka radbrytningar inom ett stycke text konverteras till rader med hård linje.bindestreck för att bryta ett ord över två linjer bevaras även när de inte borde vara;och enkla och dubbla citat ersätts med?tecken.

Helst skulle jag vilja kopiera text från en PDF och ha formaterad konverterad till HTML-koder, "smarta citat" konverterade till "och" och raderingar gjorda ordentligt. Finns det något sätt att göra detta?

Finns det ett snabbt och enkelt sätt för Colen( och resten av oss) att få tag i text utan att förlora formateringen?

Svaret

SuperUser-bidragsgivaren Frabjous erbjuder en lösning kombinerad med en stor dos försiktighet:

Först måste du förstå vad en PDF är. PDF-filer är utformade för att efterlikna en tryckt sida, och de är endast utformade som ett utdataformat, inte ett inmatningsformat.en PDF är i grund och botten en karta som innehåller den exakta platsen för tecken( enskilda bokstäver eller skiljetecken etc.) eller bilder. I de flesta fall lagrar en PDF inte ens information om var ett ord slutar och en annan börjar, mycket mindre saker som mjukbrytningar kontra hårda raster för styckeändringar.

( Några senaste PDF-filer lagrar lite information om det här, men det är en ny teknik, och du skulle ha tur att hitta PDF-filer på samma sätt. Även om du gjorde det kan din PDF-tittare kanske inte veta om det.)

Hur som helst, Det är upp till din programvara att genomföra någon form av "artificiell intelligens" för att bara hämta ut från läget för enskilda tecken, vad är ett ord, vad är ett stycke osv. Olika program kommer att göra det bättre än andra, och det kommer också att bero på hur PDF-filen skapades. I alla fall borde du aldrig förvänta dig perfekta resultat. Att ha utdataprofilen är inte densamma som att ha källdokumentet. Mycket bättre att försöka få det om du kan.

Standardlösningen för din typ av problem är att använda Adobe Acrobat Professional( den dyra, inte den fria läsaren) för att konvertera PDF till HTML.Även det kommer inte att få perfekta resultat.

Det finns fri programvara som kan användas för att extrahera text från PDF-filer med lite formatering, men återigen, förvänta dig inte perfekta resultat. Se till exempel kaliber( som kan konvertera till RTF-format), pdftohtml / pdfreflow eller AbiWord-ordbehandlaren( med alla import / export plugins aktiverade).Det finns också ett PDF-plugin för OpenOffice.

Men vänligen vänta inte på perfektion med något av dessa resultat. Du går mot korgen här. PDF är inte menat som ett redigerbart inmatningsformat.

Om du har problem med att bestämma vilket verktyg som ska börja med, är Caliber ett verkligt dokument Swiss Army knife. Du kan också använda den för att konvertera PDF-filer för användning på din ebook-läsare och organisera ditt e-bok / dokumentbibliotek.

Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.