package net.spring.controller;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
@Controller
public class PdfController {
@RequestMapping("pdf")
public void pdfRequest() {
// 第一步:创建一个document对象。
Document document = new Document();
try {
// 第二步:
// 创建一个PdfWriter实例,
// 将文件输出流指向一个文件。
// 临时文件路径
String sysTemp = System.getProperty("java.io.tmpdir");
String path = sysTemp + File.separator;
String fileName = "test.pdf";
String filePath = path + fileName;
PdfWriter.getInstance(document, new FileOutputStream(filePath));
// 第三步:打开文档。
document.open();
// 第四步:在文档中增加一个段落。
document.add(new Paragraph("Hello World" + "," + "Hello iText"
+ "," + "Hello xDuan"));
} catch (DocumentException de) {
System.err.println(de.getMessage());
} catch (IOException ioe) {
System.err.println(ioe.getMessage());
}
// 第五步:关闭文档。
document.close();
// 打开文件
Runtime rt = Runtime.getRuntime();
try {
Process proc = rt.exec("cmd /c start " + filePath.replace(" ", "\" \""));
//等待命令执行结束 获取执行结果
int exitVal = proc.waitFor();
System.out.println("["+exitVal+"]");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}