gpt4 book ai didi

java - 如何使用 iTextPDF 创建段落?

转载 作者:行者123 更新时间:2023-12-02 13:27:20 25 4
gpt4 key购买 nike

我有这个移动应用程序,我需要将数据库的一些行导出为 pdf。我需要有一个 pdf 结构才能正确放置信息。这是我的代码,但由于某种原因 PDF 是空白的。主要目标是在开头有一个标题,然后是数据库中的一行,然后是“回车”并再次显示数据库查询结果中的另一行。

Document doc = new Document();
String outPath = Environment.getExternalStorageDirectory() + "/"+nomePDF+".pdf";

try {
PdfWriter.getInstance(doc, new FileOutputStream(outPath));
Font f=new Font(Font.FontFamily.TIMES_ROMAN,30.0f,Font.UNDERLINE, BaseColor.RED);
Paragraph p = new Paragraph("Group/Machine",f);
p.setAlignment(Element.ALIGN_CENTER);
p.setSpacingAfter(40f);
doc.add(p);
bd = new Databse(MainActivity.this);

Cursor c = bd.getGroupsNamesMachines();
if (c.moveToFirst()) {
do {
String group = c.getString(c.getColumnIndex("groupname"))+"\n"+c.getString(c.getColumnIndex("otherrow"));
doc.add(new Paragraph(group));
doc.add(new Paragraph("\n"));

} while (c.moveToNext());
}

doc.open();
doc.close();

我的目标结构是:

TITLE

row1
row2

row2
row2

最佳答案

您在打开Document doc之前尝试将内容添加到其中!

Document doc = new Document();
PdfWriter.getInstance(doc, new FileOutputStream(outPath));
[...]
doc.add(p);
[...]
doc.add(new Paragraph(group));
doc.add(new Paragraph("\n"));
[...]
doc.open();
doc.close();

doc.open() 调用移至 PdfWriter.getInstance 调用和第一个 doc.add 调用之间的位置。

关于java - 如何使用 iTextPDF 创建段落?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43331342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com