我需要读取带有文件路径"C:\ file.pdf"的pdf文件并将其写入outputStream.最简单的方法是什么?
@Controller
public class ExportTlocrt {
@Autowired
private PhoneBookService phoneBookSer;
private void setResponseHeaderTlocrtPDF(HttpServletResponse response) {
response.setContentType("application/pdf");
response.setHeader("content-disposition", "attachment; filename=Tlocrt.pdf" );
}
@RequestMapping(value = "/exportTlocrt.html", method = RequestMethod.POST)
public void exportTlocrt(Model model, HttpServletResponse response, HttpServletRequest request){
setResponseHeaderTlocrtPDF(response);
File f = new File("C:\\Tlocrt.pdf");
try {
OutputStream os = response.getOutputStream();
byte[] buf = new byte[8192];
InputStream is = new FileInputStream(f);
int c = 0;
while ((c = is.read(buf, 0, buf.length)) > 0) {
os.write(buf, 0, c);
os.flush();
}
os.close();
is.close();
} catch …Run Code Online (Sandbox Code Playgroud) 我正在尝试将图像添加到我的pdf文件中.图像位于"WebContent/img/image.png"中.首先,我保存相对路径到字符串,然后我将此相对路径转换为实际路径.
String relativeWebPath = "/img/image.png";
String absoluteDiskPath = getServletContext().getRealPath(relativeWebPath);
Image image1 = Image.getInstance(absoluteDiskPath);
Run Code Online (Sandbox Code Playgroud)
即使这样
String absoluteDiskPath = getServletContext().getRealPath("/");
Run Code Online (Sandbox Code Playgroud)
不起作用.
我在定义相对路径时尝试了一些变化,但无法使它们中的任何一个起作用.当此行String absoluteDiskPath = getServletContext().getRealPath(relativeWebPath);尝试执行时,我总是得到nullPointerException .我是否在相对路径或其他方面做错了什么?我不知道这是否相关,但我使用的是Spring.
@RequestMapping(value = "/exportPhonebook.html", method = RequestMethod.POST)
public void exportPhonebook(Model model, HttpServletResponse response) {
try {
setResponseHeaderPDF(response);
Document document = new Document();
ByteArrayOutputStream baosPDF = new ByteArrayOutputStream();
PdfWriter pdfWriter = null;
pdfWriter = PdfWriter.getInstance(document, baosPDF);
PageNumbersEventHelper events = new PageNumbersEventHelper();
pdfWriter.setPageEvent(events);
document.open();
addMetaData(document);
addTitlePage(document);
String relativeWebPath = "/img/image.png";
String absoluteDiskPath = getServletContext().getRealPath(relativeWebPath);
Image …Run Code Online (Sandbox Code Playgroud)