Я пытаюсь сделать отчет из приложения java swing, я пробовал отчеты jasper и другие инструменты, но я не понимаю, как их правильно использовать.IText Stamper undline специфический текст
Я попробовал это, и у меня на самом деле есть что-то вроде этого.
public void createPDF(){
try {
PdfReader reader = new PdfReader("pdf/watermark.pdf"); // input PDF
PdfStamper stamper = new PdfStamper(reader,new FileOutputStream("C:\\Users\\FIREFENIX\\Documents\\NetBeansProjects\\Java\\PDFCreator\\src\\pdf\\watermarkFinal.pdf")); // output PDF
BaseFont bfArialPlain = BaseFont.createFont("/font/arial.ttf",BaseFont.IDENTITY_H,BaseFont.EMBEDDED);
BaseFont bfArialBold = BaseFont.createFont("/font/arialbd.ttf",BaseFont.IDENTITY_H,BaseFont.EMBEDDED);
BaseFont bfArialBlack = BaseFont.createFont("/font/ariblk.ttf",BaseFont.IDENTITY_H,BaseFont.EMBEDDED);
for (int i=1; i<=reader.getNumberOfPages(); i++){
PdfContentByte over = stamper.getOverContent(i);
//TOP LEFT
over.beginText();
over.setFontAndSize(bfArialBold, 9);
over.setTextMatrix(040, 670);
over.showText("Registry Date: "); //<-----That field/line/text
over.endText();
over.beginText();
over.setFontAndSize(bfArialPlain, 9);
over.setTextMatrix(115, 670);
over.showText("21/07/2016");
over.endText();
over.beginText();
over.setFontAndSize(bfArialBold, 9);
over.setTextMatrix(040, 660);
over.showText("Validation Date: "); //<-----And that one
over.endText();
over.beginText();
over.setFontAndSize(bfArialPlain, 9);
over.setTextMatrix(115, 660);
over.showText("21/07/2016");
over.endText();
//TOP RIGHT...
//...
//...
}
File myFile = new File("C:\\Users\\FIREFENIX\\Documents\\NetBeansProjects\\Java\\PDFCreator\\src\\pdf\\watermarkFinal.pdf");
Desktop.getDesktop().open(myFile);
//////////PRINT DISABLED////////Desktop.getDesktop().print(myFile);
stamper.close();
reader.close();
} catch (IOException | DocumentException ex) {
Logger.getLogger(PDFCreator.class.getName()).log(Level.SEVERE, null, ex);
}
}
Мне нужно подчеркнуть, что две линии подчеркнуты.
Как я могу это сделать?
Есть ли другой способ, я могу сделать это проще?
Спасибо.
Спасибо за ваш быстрый ответ. У меня также был конфликт библиотеки между itext 5 и itext 7, это не работает на v7 и v5, но я загрузил 5.5 и отлично работает. –
Я ответил с текстом iText 5, потому что вы представили iText 5 код: 'PdfStamper' больше не существует в iText 7. Если вы хотите получить ответ iText 7, отправьте его как новый вопрос –
@ JesúsSuárezBorrell, конфликт - это потому, что 5 и 7 не поддерживают обратную совместимость. itext 7 - это от начала переписать функциональность в iText5. –