使用 PDFBOX PreflightParser 对 PDDocument 进行 PDF 验证
PDF validate using PDFBOX PreflightParser for PDDocument
我想验证创建的 pdf(不是作为文件)而是作为下载到浏览器的 ByteArrayOutputStream。为了避免安全问题,可以使用 pdfbox preflightparser 进行验证,其中它具有仅用于解析文件而不是 PDDocument 的选项。
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
doc.save(byteArrayOutputStream);
PreflightParser parser = new PreflightParser(doc);
//这个构造函数只接受文件。
期望是即时验证 pdf 文件而不是从系统加载。
如果您不需要 PreflightParser 可以为您提供的额外信息 - 您可以使用 PDFParser. It's constructor accepts RandomAccessBuffer,这需要 byte[]
来创建。
你也可以传一个DataSource
。为了方便这一点,使用 org.apache.pdfbox.io.IOUtils.ByteArrayDataSource
其构造函数接受 InputStream
.
我想验证创建的 pdf(不是作为文件)而是作为下载到浏览器的 ByteArrayOutputStream。为了避免安全问题,可以使用 pdfbox preflightparser 进行验证,其中它具有仅用于解析文件而不是 PDDocument 的选项。
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
doc.save(byteArrayOutputStream);
PreflightParser parser = new PreflightParser(doc);
//这个构造函数只接受文件。
期望是即时验证 pdf 文件而不是从系统加载。
如果您不需要 PreflightParser 可以为您提供的额外信息 - 您可以使用 PDFParser. It's constructor accepts RandomAccessBuffer,这需要 byte[]
来创建。
你也可以传一个DataSource
。为了方便这一点,使用 org.apache.pdfbox.io.IOUtils.ByteArrayDataSource
其构造函数接受 InputStream
.