我有一大串文本,显然是 PDF 文件的原始数据,我需要将其重新转换为 PDF。
目前,我正在将字符串读入 StringBuffer,但如果需要,我可以更改它。从那里我尝试将其写入文件并更改扩展名(我真的希望这能起作用,但我有点知道它不会),我尝试将其放入字符串,然后从中获取一个 byte[]并将其写入文件或使用 DataOutputStream 将字节放入文件中。这些似乎都不起作用。
我还尝试过使用 iText 插件,我尝试通过该插件将其写入 pdf,我还尝试将文本作为 pdf 阅读,然后将其逐页复制到新的 pdf 中。这些都没有返回很好的结果。
今天是星期五下午,我很高兴,任何建议都会有很大的帮助!
iText 方法是正确的方法。你可以这样做:
import java.io.*;
import com.lowagie.text.*;
import com.lowagie.text.pdf.*;
public class TextFileToPDF {
/*
ex. java TextFileToPDF c:\temp\text.txt c:\temp\text.pdf
*/
public static void main (String [] args){
BufferedReader input = null;
Document output = null;
System.out.println("Convert text file to pdf");
System.out.println("input : " + args[0]);
System.out.println("output : " + args[1]);
try {
// text file to convert to pdf as args[0]
input =
new BufferedReader (new FileReader(args[0]));
// letter 8.5x11
// see com.lowagie.text.PageSize for a complete list of page-size constants.
output = new Document(PageSize.LETTER, 40, 40, 40, 40);
// pdf file as args[1]
PdfWriter.getInstance(output, new FileOutputStream (args[1]));
output.open();
output.addAuthor("RealHowTo");
output.addSubject(args[0]);
output.addTitle(args[0]);
String line = "";
while(null != (line = input.readLine())) {
System.out.println(line);
Paragraph p = new Paragraph(line);
p.setAlignment(Element.ALIGN_JUSTIFIED);
output.add(p);
}
System.out.println("Done.");
output.close();
input.close();
System.exit(0);
}
catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)