2017-02-16 1 views
0

J'utilise PDFBox 1.8.10 pour ajouter du texte aux documents PDF. Cela fonctionne correctement sauf sur certains documents où le texte est ajouté au document (vérifié avec l'inspecteur de structure pdf) mais pas affiché en PDF. Exemple de document est ici: https://kali-docs.ks2.fr/share/s/Ut_LdO8LR4WEeEd1y2k58QPDFBox Le texte ajouté n'apparaît pas dans le document PDF

Parce que je veux définir un AlphaConstant personnalisé au texte (et aux rectangles), j'utilise Graphics Dictionnaires de paramètres d'état pour ajouter du texte.

code

utilisé:

PDPageContentStream contentStream = new PDPageContentStream(pdfDoc, pdfPage, true, true);     

this.textGraphicState = new PDExtendedGraphicsState(); 
textGraphicState.setNonStrokingAlphaConstant(1f); 
Map<String, PDExtendedGraphicsState> graphicsStatesMap = pdfPage.getResources().getGraphicsStates(); 
if (graphicsStatesMap == null) 
{ 
    graphicsStatesMap = new HashMap<String, PDExtendedGraphicsState>(); 
} 
graphicsStatesMap.put("textGraphicState", textGraphicState); 
pdfPage.getResources().setGraphicsStates(graphicsStatesMap); 
contentStream.appendRawCommands("/textGraphicState gs\n"); 
contentStream.setNonStrokingColor(fontColor); 
contentStream.beginText(); 
contentStream.setFont(font, fontSize); 
contentStream.moveTextPositionByAmount(pagePosX, pagePosY); 
contentStream.drawString(text); 
contentStream.endText(); 
contentStream.close(); 

Toute idée?

Merci, Vincent

+0

voir la réponse de https://stackoverflow.com/questions/27919436/pdfbox-pdpagecontentstreams-append-mode-misbehaving et https://stackoverflow.com/questions/14657602/cannot-figure-out-how-to- utiliser-pdfbox –

Répondre

1

Remise à zéro état graphique résolu mon problème (cinquième paramètre du constructeur PDPageContentStream).

PDPageContentStream contentStream = nouveau PDPageContentStream (pdfDoc, pdfPage, true, true, true);