gpt4 book ai didi

java - 如何使用itext pdf在页面pdf中插入值

转载 作者:太空宇宙 更新时间:2023-11-04 13:29:26 25 4
gpt4 key购买 nike

我尝试将值插入到 pdf 中,如下所示:

String nomeArquivo ="tempRelatorioPDF.pdf";
File file = new File(nomeArquivo);
file.createNewFile();

PdfWriter.getInstance(doc, new FileOutputStream(file));
doc.open();
PdfWriter writer = PdfWriter.getInstance(doc, new `FileOutputStream(nomeArquivo));`
Document doc = new Document(PageSize.A4.rotate());

while(iteratorRow.hasNext()){
Object valorCelulaRow = iteratorRow.next();

Paragraph p3 = new Paragraph();
p3.add(colunas[i].getName());
p3.add("\n");
doc.add((com.itextpdf.text.Element)p3);

if(valorCelulaRow != null){

Paragraph p = new Paragraph(valorCelulaRow.toString());
doc.add(p);
}
doc.close();

显示错误: PDF 文件已损坏 实际上在打开文件时出现错误,该文件似乎已损坏。

**

到达此点之前的调整

** 我为此使用以下库:

import com.itextpdf.text.Chunk;
import com.itextpdf.text.ListItem;

*>>>>> import com.itextpdf.text.Paragraph;*

...
import com.itextpdf.text.DocumentException;

*>>>>> import com.lowagie.text.Document;*

import com.lowagie.text.Element;
import com.lowagie.text.Font;
...

撤退注释库和添加itext时有一个conlito。文档添加错误。

import com.itextpdf.text.Document; 
// import com.lowagie.text.Document;

更改导入引用后出现错误

Document doc = new Document(PageSize.A4.rotate());      

//The constructor Document(Rectangle) is undefined

PdfWriter.getInstance(doc, new FileOutputStream(file));

PdfWriter writer = PdfWriter.getInstance(doc, new FileOutputStream(nomeArquivo));
//The method getInstance(Document, OutputStream) in the type PdfWriter is not applicable for the arguments (Document, FileOutputStream)

[部分解决]

添加“(com.itextpdf.text.Element)”

将“添加”更改为“添加”;

调试数据被加载到变量“p”和“P3”中。但生成的 PDF 文档为 0kb。

最佳答案

这应该可行,我不知道为什么不行。我认为你不应该类型转换任何东西。 Paragraph允许使用字符串参数直接构造。我认为您希望该段落的值为 valueCellRow.toString() 正确吗?

Document doc = new Document(PageSize.A4.rotate());
while(iteratorRow.hasNext()) {
Object valorCelulaRow = iteratorRow.next();
if(valorCelulaRow != null) {
Paragraph p = new Paragraph(valueCellRow.toString());
doc.Add (p);
}
}
doc.close();

如果所有其他方法都失败,则说明您的库 (com.lowagie.text.Element vs com.itextpdf.text.Element) 发生冲突。尝试使用:

doc.Add((com.itextpdf.text.Element) p);

尽管您不需要。

关于java - 如何使用itext pdf在页面pdf中插入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32335038/

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