Ich verwende die Apache PDFBox Java-Bibliothek, um PDFs zu erstellen. Aber ich bin vor Problem in Rendering mehrzeiligen Text (Zeilenumbruch):Apache PDFBox Java-Bibliothek - Text wird nicht gerendert
//Creating PDF document object
PDDocument doc = new PDDocument();
//Adding the blank page to the document
doc.addPage(new PDPage());
PDPage page = doc.getPage(0);
PDImageXObject pdImage = PDImageXObject.createFromFile("C:\\Users\\abc\\Desktop\\abc.png", doc);
PDPageContentStream contentStream = new PDPageContentStream(doc, page);
contentStream.drawImage(pdImage, 10, 720);
//Begin the Content stream
contentStream.beginText();
contentStream.newLineAtOffset(50, 735);
//Setting the font to the Content stream
contentStream.setFont(PDType1Font.TIMES_ROMAN, 16);
contentStream. showText("ABC Management System");
//Setting the leading
//contentStream.setLeading(14.5f);
//Setting the position for the line
contentStream.newLineAtOffset(25, 600);
String text1 = "This is an example of adding text to a page in the pdf document we can add as many lines";
String text2 = "as we want like this using the ShowText() method of the ContentStream class";
//Adding text in the form of string
contentStream. showText(text1);
contentStream.newLine();
contentStream. showText(text2);
//Ending the content stream
contentStream.endText();
System.out.println("Content added");
//Closing the content stream
contentStream.close();
//Saving the document
doc.save("my_doc.pdf");
System.out.println("PDF created");
//Closing the document
doc.close();
Die Frage, die ich bin faciing die letzte Hälfte des Textes ist (Text1, Text2) nicht in der PDF-Datei gerendert zu werden. Nur das Bild und die erste Zeile ABC Management System
wird in der PDF angezeigt.
Um mehrzeilige Texte zu generieren, habe ich verwiesen: PDFBox - Adding Multiple Lines.
Ich verstehe nicht, was setLeading
tut und daher auskommentiert und versuchte es erneut, aber der Text wurde immer noch nicht gerendert.
@ TilmanHausdrücker Es hat funktioniert. Vielen Dank! – HBK
@TilmanHausdrücker Gibt es eine Möglichkeit, die Hintergrundfarbe zu ändern? – HBK
Sie müssen ein Rechteck in der entsprechenden nicht streichenden Farbe zeichnen. –