2016-07-14 23 views

Antwort

1

tun:

PDDocument doc = PDDocument.load("C:/mydoc3.pdf"); 
for (int i = 0; i < doc.getNumberOfPages(); ++i) 
{ 
    PDPage page = doc.getPage(i); 
    PDResources res = page.getResources(); 
    for (COSName fontName : res.getFontNames()) 
    { 
     PDFont font = res.getFont(fontName); 
     // do stuff with the font 
    } 
} 
+0

Ich tat dies, aber es hat nicht die entsprechende Zeichenfolge mit ihm verbunden – kabeersvohra

+0

So kann ich nicht wissen, welchen Text die Schriftart – kabeersvohra

+0

Sie für eine 2.0.2 Antwort auf die Frage in http gefragt verwandt ist: //stackoverflow.com/questions/6939583/how-to-extract-font-styles-of-text-contents-using-pdfbox. Es gibt keine direkte Möglichkeit zu wissen, mit welchem ​​Text es verwandt ist; Wie auch immer Sie das Beispiel PrintTextLocations.java nehmen können, das TextPosition-Objekt hat eine getFont() -Methode, d. h. Sie erhalten die Schriftart für jedes extrahierte Zeichen. –

0

Für PDFBox 2.x den überarbeiteten Code für die Antwort, die Sie Anbindung an ist

PDDocument doc = PDDocument.load("C:/mydoc3.pdf"); 
for(PDPage page : doc.getPages()){ 
    // get the names of the fonts in the resources dictionary 
    Iterable<COSName> iterable = page.getResources().getFontNames(); 
    // to get the font for each item call 
    // page.getResources().getFont(COSName name); 
} 
+0

Ich weiß, wie dies zu tun, aber Iterable ist nicht die gewünschte Ausgabe, so dass dies nicht hilft – kabeersvohra

+0

@ KVohra95 seine Antwort war ähnlich wie bei mir, gibt es keine Notwendigkeit, zu downvote. –

+0

@TilmanHausschreiter Ich habe die Antwort nicht runtergesetzt – kabeersvohra

0

Dieser ist Schriftart der PDF-Datei mit Hilfe von pdfbox 2.0.6 extrahieren.

import java.io.File; 
import java.util.List; 
import java.util.Map; 
import org.apache.pdfbox.cos.COSName; 
import org.apache.pdfbox.pdmodel.PDDocument; 
import org.apache.pdfbox.pdmodel.PDPage; 
import org.apache.pdfbox.pdmodel.PDResources; 
import org.apache.pdfbox.pdmodel.font.PDFont; 
public class PDFFontExtractor { 
    public static void main(String args[]) 
    { 
     try 
     { 
      PDDocument pddDocument = PDDocument.load(new File("C:\\Users\\Desktop\\sample1.pdf")); 
      for (int i = 0; i < pddDocument.getNumberOfPages(); ++i) 
      { 
       PDPage page = pddDocument.getPage(i); 
       PDResources res = page.getResources(); 
       for (COSName fontName : res.getFontNames()) 
       { 
        PDFont font = res.getFont(fontName); 
        System.out.println("FONT :: "+ font); 
       } 
      } 
     } 
     catch(Exception ex) 
     { 
      ex.printStackTrace(); 
     } 
    } 
} 
+0

Was genau fügt deine Antwort zu Tilmans und Maruans Antworten hinzu? – mkl