【发布时间】:2011-11-26 18:36:22
【问题描述】:
我想将 PDF 文件转换为 CSV 文件。 我为此使用 iText 库。 该程序运行良好,但输出不是所需的格式。 所有数据都来自 csv 文件的第一行。输出应与 pdf 文件完全相同(表示带有换行符)。 请帮忙。 提前致谢。
Document document = new Document();
document.open();
PdfReader reader = new PdfReader("C:\\Indiaops-projects\\PREMIUM_PAID_ACKNOWLEDGEMENT.pdf");
PdfDictionary dictionary = reader.getPageN(1);
AcroFields fileds = reader.getAcroFields();
PRIndirectReference reference = (PRIndirectReference)
dictionary.get(PdfName.CONTENTS);
PRStream stream = (PRStream) PdfReader.getPdfObject(reference);
byte[] bytes = PdfReader.getStreamBytes(stream);
PRTokeniser tokenizer = new PRTokeniser(bytes);
FileOutputStream fos=new FileOutputStream("C:\\Indiaops-projects\\pdf.csv");
StringBuffer buffer = new StringBuffer();
StringBuffer data = new StringBuffer();
int i=0;
while (tokenizer.nextToken()) {
if (tokenizer.getTokenType() == PRTokeniser.TK_STRING) {
String value = tokenizer.getStringValue();
if("x-none".equals(value)){
String datastr =data.toString();
if(!"".equals(datastr)){
buffer.append("\""+datastr+"\",");
data = new StringBuffer();
}
}else{
data.append(value);
}
}
}
String test=buffer.toString();
StringReader stReader = new StringReader(test);
int t;
while((t=stReader.read())>0)
fos.write(t);
document.add(new Paragraph(".."));
document.close();
【问题讨论】:
-
您使用哪种语言?请添加正确的标签。请展示用于读取 PDF 并生成 CSV 的代码,以便我们提供帮助!
-
如果您可以分享一些代码来显示您当前如何将其转换为 CSV,可以帮助我们指导您。
-
输出是什么样的?你想要它是什么样子的?向我们展示。
-
pdf文件中有一个表格。但是 csv 文件仅在一行中显示数据。它不以表格形式显示。