When I copy text out of a PDF file and into a text editor, it ends up mangled in a variety of ways. Formatting like bold and italics are lost; soft line breaks within a paragraph of text are converted to hard line breaks; dashes to break a word over two lines are preserved even when they shouldn't be; and single and double quotes are replaced with ? signs.
Ideally, I'd like to be able to copy text from a PDF and have formatting converted to HTML codes, "smart quotes" converted to " and ', and line breaks done properly. Is there any way to do this?
29 Answers
Firstly, you have to understand what a PDF is. PDFs are designed to mimic a printed page, and they are designed only as an output format, not an input format. a PDF is basically a map containing the exact location of characters (individual letters or punctuation, etc.) or images. In most cases, a PDF does not even store information about where one word ends and another begins, much less things like soft breaks vs. hard breaks for paragraph endings.
(A few recent PDFs do store some information about this stuff, but that's a new technology, and you'd be lucky to find PDFs like that. Even if you did, your PDF viewer might not know about it.)
Anyway, it's up to your software to implement some kind of "artificial intelligence" to extract merely from the locations of individual characters what is a word, what is a paragraph, and so on. Different software is going to do this better than others, and it's also going to depend on how the PDF was made. In any case, you should never expect perfect results. Having the output PDF is not the same as having the source document. Far better to try to obtain that if you can.
The standard solution to your kind of problem is to use Adobe Acrobat Professional (the expensive one, not the free reader) to convert the PDF to HTML. Even that is not going to get perfect results.
There is free software that can be used to extract text from PDFs with some of formatting intact, but again, don't expect perfect results. See, e.g., calibre (which can convert to RTF format), pdftohtml/pdfreflow or the AbiWord word processor (with all import/export plugins enabled). There's also a PDF import plugin for OpenOffice.
But please don't expect perfection with any of these results. You're going against the grain here. PDF just is not meant as an editable input format.
4Another option is to download and start using the free pdf viewer, Foxit (its good). Then you can 'Save As' and choose .txt to convert it to a text file. That will preserve all the formatting. Dunno whether you can do the same in Adobe because I stopped using it a while ago when I converted to Foxit.
4There is a very good online tool called Sej-da. Its deals with Advanced PDF Manipulation. There is no software to download. As it is a new online tool it is currently still in Beta. It allows you to extract text from a PDF, as well as providing a myriad of other PDF functionalities
A brief video review of sejda functions was done 14th November 2012 by Revision 3 it can be found here:
5Open your PDF file with a browser(Google chrome and firefox are tested)then copy your text there.
3You can use Adobe Acrobat Pro for this.
For tables: With Acrobat 9/10 there was a select tables feature. With Acrobat X you can just click Save As > Spreadsheet > Excel. It even concatenates pages into one long spreadsheets. Awesome feature.
For text: A similar feature exists for exporting to MS Word. Save As > Word > Word Doc.
Sources:
- I just did it and it worked like a charm.
Foxit will toggle between displaying the original file as normal PDF or as text by pressing Ctrl + 6 (With a little fiddling with the zoom level of the text mode there's not much jump in position back and forth between reading and copying)
You could copy from adobe reader into MS Excel and format (table) the way you want and then copy and paste from Excel. This solution works great. You don't need to buy expensive adobe professional copy.
1I was trying to save the the text and format of a pdf that was organized in a table. In Acrobat Professional, I realized there is a 'Save As' option that allows saving as an excel document. This worked well for my needs. I also noticed there is a Save As Word document option as well. I didn't try it though.
1I found this very useful ( Remove Line Breaks ):
Here is a useful trick to quickly resolve this without having to remove all the line breaks manually. Basically, all it does is automatically replace all the unwanted line breaks with a single space, making all the text run together into a single paragraph:
1- copy the text you want from the PDF.
2- paste into a new Word document.
3- click “edit” then “replace”
4- make sure you’re in the “find what” field
5- click “more” then “special”
6- select “paragraph mark” (top of the list)
7- click into the “replace with” field
8- press the space bar once
9- click “replace all”
10- click “ok” then close the “find & replace” box.