小编Jur*_*vić的帖子

如何阅读pdf文件并将其写入outputStream

我需要读取带有文件路径"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)

java pdf outputstream

14
推荐指数
2
解决办法
12万
查看次数

getServletContext().getRealPath()在控制器(NPE)中不起作用,但在jsp中工作

我正在尝试将图像添加到我的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)

java spring-mvc relative-path itext realpath

5
推荐指数
1
解决办法
4万
查看次数

标签 统计

java ×2

itext ×1

outputstream ×1

pdf ×1

realpath ×1

relative-path ×1

spring-mvc ×1