如何将pdf文件转换为CSV文件?

我想将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();

回答:

您需要在每个表行之后在缓冲区中引入一个换行符’\ n’。

buffer.append("\n");

以上是 如何将pdf文件转换为CSV文件? 的全部内容, 来源链接: utcz.com/qa/415144.html

回到顶部