PDFBOX, Reading a pdf line by line and extracting text properties

前端 未结 1 1388
遇见更好的自我
遇见更好的自我 2021-01-17 03:01

I am using pdfbox to extract text from pdf files. I read the pdf document as follows

    PDFParser parser = null;
    String text = \"\";
    PDFTextStripper         


        
相关标签:
1条回答
  • 2021-01-17 03:44

    extract the text properties such as bold,italic, from each line. How can I achieve this with pdfbox library

    Properties such as bold and italic are not first-class properties in a PDF.

    Bold or italic writing in PDFs is achieved either using

    • different fonts (which is the better way); in this case one can try to determine whether or not the fonts are bold or italic by

      • looking at the font name: it may contain a substring "bold", "italic", "oblique"...

      • looking at some optional properties of the font, e.g. font weight...

      • inspecting embedded font file.

      Neither of these methods is fool-proof; or

    • using the same font as for non-bold, non-italic text but using special techniques to make them appear bold or italic (aka poor man's bold), e.g.

      • not only filling the glyph contours but also drawing a thicker line along it for a bold impression,

      • drawing the glyph twice, the second time slightly displaced, also for a bold impression,

      • using a text or transformation matrix to slant the letters for an italic impression.

    By overriding the PDFTextStripper methods with such tests accordingly, you may achieve a fairly good guess rate for styles during PDF text extraction.

    0 讨论(0)
提交回复
热议问题