当前位置: 首页 > 知识库问答 >
问题:

如何使用iText 5将csv文件附加到新创建的Java PDF中?

简成仁
2023-03-14

在浏览了几天的网页和帖子之后,我仍然对如何将“csv”文件附件添加到使用Java“iText 5.3.1”创建的PDF文件中感到困惑。

在我继承的Java可执行文件中,创建了多个PDF文件,然后将它们连接到一个PDF文件中。现在,需要将一个“csv”文件附加到这个PDF文档中。在《iText in Action》(清单16.6)一书的第16章中,有一个例子使用PdfileSpecification类和fileEmbedded方法来附加一个“xml”文件。

PdfileSpecification fs=PdfileSpecification。fileEmbedded(writer,null,“Kubrick.xml”,txt.toByteArray());作家addFileAttachment(fs);

我理解“fileEmbedded”的参数,但“writer”html" target="_blank">参数是作者在代码段中没有定义的。

问题是,使用“PdfFile规范”类如何声明“作者”,以便将“csv”文件附加到已经创建的PDF文件中,或者有更好的方法吗?

下面是将几个PDF文件连接在一起的代码部分,现在需要附加“csv”文件,我认为是“文档级”附件。

尝试使用“PdfileSpecification”类和“fileEmbedded”方法。不知道如何正确定义参数以将csv文件附加到新创建的PDF。尤其是“writer”参数。

aPDFFiles = (String[])vFileList.toArray(aPDFFiles);

Document document = new Document();

PdfCopy copy = new PdfCopy(document, new FileOutputStream(sFinalFile));

document.open();

PdfReader reader;         
int n;

// loop over the documents you want to concatenate
for (int i = 0; i < aPDFFiles.length; i++) {

reader = new PdfReader(aPDFFiles[i]);

// loop over the pages in that document
n = reader.getNumberOfPages();

for (int page = 0; page < n; ) {
    copy.addPage(copy.getImportedPage(reader, ++page));
}           

copy.freeReader(reader);

document.close();       

//  Add a “csv” file(s) as an attachment?

PdfFileSpecification fs = PdfFileSpecification.fileEmbedded(writer, 
    sMainDir +  "TestAttachment.csv", "TestAttachment.csv", null);

共有1个答案

齐望
2023-03-14

在这种情况下,结果非常简单。我有最后一个“pdf”文件的“PdfCopy”对象(在将几个pdf文件连接成一个文件之后),而“PdfCopy”类有一个“addFileAttachment”方法,可以实现这一点。

复制addFileAttachment(“TestAttachment.csv”,null,smindir“TestAttachment.csv”,“TestAttachment.csv”);

 类似资料:
  • 问题内容: 在Linux中将文本附加到文件的最简单方法是什么? 我看了这个问题,但是可接受的答案使用了一个附加程序(),我相信应该有一个更简单的方法或类似方法。 问题答案: cat >> filename This is text, perhaps pasted in from some other source. Or else entered at the keyboard, doesn’t

  • 有没有办法将文件附加到MS Word文档中?我的意思与您将MS Excel文件拖放到MS Word中的方式相同。它显示MS Excel图标和文件名,双击打开附件。 我的情况来自以前的html文件,我导入使用XHTMLImporter.convert.现在超文本标记语言引用附件下载几个地方,并希望将这些文件附加到适当的MS Word文档。

  • 问题内容: 我该怎么做才能将其附加到文件中而不是覆盖? 问题答案: 使用附加:

  • 我已经使用selenium webdriver创建了新的firefox配置文件,就像在web驱动程序文档中一样。我也创建了firebug扩展,但当时我无法访问firefox xpcom功能。有什么方法可以做到这一点吗?我在firefox控制台中发现以下错误。

  • 问题内容: 我想计算一些列数据并将其作为列写入文件。然后,在计算了另一列数据之后,我想将其附加到同一文件中,但作为新列。 这是我所做的: 结果-它将新列追加到第一列下方,因此我只有一个长列。 谢谢, 问题答案: 您将必须逐行读取文件,然后将新列插入每一行。这是使用BufferedReader和BufferedWriter的解决方案

  • 我有3个维度为(a*2、b*2、c*2)的数据帧,而a、b、c是不同的数字。我想把它们添加到一个csv文件中,但每次都写不出来。我使用了csv的熊猫数据帧输出端 但做不到。 我的代码- 但是,我得到的最终输出是最后一个数据帧,而不是所有其他数据帧。