保存 PDF 文档
Contents
[
Hide
]
保存 PDF 文档到文件系统
您可以使用 Document 类的 Save 方法将创建或操作的 PDF 文档保存到文件系统。 如果您不提供格式类型(选项),则文档将以 Aspose.PDF v.1.7 (*.pdf) 格式保存。
package com.aspose.pdf.examples;
import java.io.FileOutputStream;
import java.nio.file.Path;
import java.nio.file.Paths;
import com.aspose.pdf.*;
public final class BasicOperationsSave {
private BasicOperationsSave() {
}
private static Path _dataDir = Paths.get("/home/admin1/pdf-examples/Samples");
public static void main(String[] args) {
SaveDocument();
SaveDocumentStream();
SaveDocumentAsPDFx();
}
public static void SaveDocument() {
String originalFileName = _dataDir + "/SimpleResume.pdf";
String modifiedFileName = _dataDir + "/SimpleResumeModified.pdf";
Document pdfDocument = new Document(originalFileName);
// 进行一些操作,例如添加新空白页
pdfDocument.getPages().add();
pdfDocument.save(modifiedFileName);
}
保存 PDF 文档到流
您还可以使用 Save 方法的重载将创建或操作的 PDF 文档保存到流中。
public static void SaveDocumentStream() {
String originalFileName = _dataDir + "/SimpleResume.pdf";
String modifiedFileName = _dataDir + "/SimpleResumeModified.pdf";
Document pdfDocument = new Document(originalFileName);
// 进行一些操作,例如添加新的空白页
pdfDocument.getPages().add();
try {
pdfDocument.save(new FileOutputStream(modifiedFileName));
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
在 Web 应用程序中保存 PDF 文档
要在 Web 应用程序中保存文档,您可以使用上面提出的方法。此外,Document 类具有重载方法 Save。
// @RequestMapping(value = "/files/{file_name}", method = RequestMethod.GET)
// public void getFile(@PathVariable("file_name") String fileName, HttpServletResponse response) {
// try {
// response.setContentType("application/pdf");
// // 将您的文件作为 InputStream 获取
// InputStream is = new FileInputStream(_dataDir + fileName);
// // 将其复制到响应的 OutputStream
// org.apache.commons.io.IOUtils.copy(is, response.getOutputStream());
// response.flushBuffer();
// } catch (IOException ex) {
// log.info("Error writing file to output stream. Filename was '{}'", fileName, ex);
// throw new RuntimeException("IOError writing file to output stream");
// }
// }
有关更详细的解释,请参阅展示部分。
保存为 PDF/A 或 PDF/X 格式
PDF/A 是用于电子文档归档和长期保存的可移植文档格式 (PDF) 的 ISO 标准化版本。PDF/A 与 PDF 的区别在于它禁止不适合长期归档的功能,如字体链接(相对于字体嵌入)和加密。PDF/A 查看器的 ISO 要求包括颜色管理指南、嵌入字体支持和用于阅读嵌入注释的用户界面。
PDF/X 是 PDF ISO 标准的一个子集。PDF/X 的目的是促进图形交换,因此它具有一系列不适用于标准 PDF 文件的打印相关要求。
在这两种情况下,保存方法用于存储文档,而文档必须使用转换方法进行准备。
public static void SaveDocumentAsPDFx() {
Document pdfDocument = new Document("../../../Samples/SimpleResume.pdf");
pdfDocument.getPages().add();
pdfDocument.convert(new PdfFormatConversionOptions(PdfFormat.PDF_X_3));
pdfDocument.save("../../../Samples/SimpleResume_X3.pdf");
}
}