40

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?

54

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.

  • 2
    a feedback 5 years later: no big improvement: I had to convert it to HTML (using acrobat x) then insert each row it in a MSword table. (Saving for word or excel or txt just messed up everything, copy past from chrome did not work at all either). Still waiting for a (very) smart software. – JinSnow Nov 6 '15 at 7:03
  • right click on the table choosing "copy with formatting" work too, with the limits mentioned above – JinSnow Nov 6 '15 at 7:10
  • 1
    Because this is the accepted answer, I suggest that you also mention the (newer) option that pratnala wrote in his comment - open the pdf directly from Word 2013. On some pdfs I tried it gave better results than all the above software. – BornToCode May 17 '17 at 0:51
8

Another 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.

  • "Save as... Text" worked for me with several free pdf viewers. – Jeff Dec 18 '13 at 19:23
  • I use Foxit, and just tried it, I wouldn't say it preserved formatting. And all I wanted was decent line endings and each paragraph as a paragraph. – pgr Dec 31 '15 at 14:48
  • Using txt you will loose all formating: fonts, bold, italics, colors, and of course more advanced options – skan Feb 22 '17 at 16:21
  • Foxit Reader worked great for me – Michael Tranchida May 2 '18 at 10:42
5

There 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

http://www.sejda.com/

A brief video review of sejda functions was done 14th November 2012 by Revision 3 it can be found here:

http://revision3.com/tzdaily/sejda-online-pdf

  • 1
    One could still download the command line tool: sejda.org/download (I don't think it allows extracting text with formatting?) – Arjan Dec 1 '12 at 14:41
  • I have already recommended Sejda above Arjan – Simon Dec 1 '12 at 14:56
  • 1
    Huh? I just meant: you're saying it's an online tool, but one can also download the same thing. Also, looking into it further: I don't think it will preserve the formatting, like was asked for? – Arjan Dec 1 '12 at 15:16
  • I am well aware preserving of format was requested, but unless you try you will never know. – Simon Dec 1 '12 at 15:41
  • As its a free tool with a wealth of features, and its not even out of beta - there is nothing to lose, but try. With time its feature set will be probably be extended, but for now cant really complain. – Simon Dec 1 '12 at 15:47
5

Open your PDF file with a browser(Google chrome and firefox are tested)then copy your text there.

  • Sadly this didn't work for me in Firefox. – Reb Sep 6 '16 at 11:50
  • close. FF kept font sizes at least. Chrome failed miserably, not even line-feeds. – nd34567s32e Feb 20 '18 at 13:51
  • As of Oct 2019 opening a PDF in Chrome and copy/pasting to a text editor at least preserves end-of-line (but, sadly, not any leading white space on the lines). – DocOc Oct 3 at 12:50
4

You 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:

0

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)

0

I 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.

-1

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.

  • The question discusses text. Do you think this would be a good general solution for text, including converting formatting to HTML codes? – fixer1234 Dec 11 '15 at 5:24
-1

I 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.

  • 2
    This duplicates user156787's answer. – fixer1234 Jan 23 '16 at 1:52

protected by Community Jul 27 '18 at 18:36

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.