使用 C++ 保存 PDF 文档
Contents
[
Hide
]
保存 PDF 文档到文件系统
您可以使用 Document 类的 Save 方法将创建或操作的 PDF 文档保存到文件系统。
void SaveDocument()
{
// 路径名称的字符串
String _dataDir("C:\\Samples\\");
String originalFileName("SimpleResume.pdf");
String modifiedFileName("SimpleResumeModified.pdf");
auto document = MakeObject<Document>(_dataDir + originalFileName);
// 进行一些操作,例如添加新的空白页
document->get_Pages()->Add();
document->Save(_dataDir + modifiedFileName);
}
保存 PDF 文档到流
您也可以通过使用 Save 方法的重载将创建或操作的 PDF 文档保存到流。
void SaveDocumentStream()
{
// 路径名称的字符串
String _dataDir("C:\\Samples\\");
String originalFileName("SimpleResume.pdf");
String modifiedFileName("SimpleResumeModified.pdf");
auto document = MakeObject<Document>(_dataDir + originalFileName);
// 进行一些操作,例如添加新的空白页
document->get_Pages()->Add();
auto fileStream = System::IO::File::OpenWrite(_dataDir + modifiedFileName);
document->Save(fileStream);
}
保存为 PDF/A 或 PDF/X 格式
PDF/A 是便携文档格式 (PDF) 的 ISO 标准化版本,用于电子文档的归档和长期保存。PDF/A 与 PDF 的不同之处在于它禁止了不适合长期归档的功能,例如字体链接(相对于字体嵌入)和加密。ISO 对 PDF/A 查看器的要求包括颜色管理指南、嵌入字体支持以及用于阅读嵌入注释的用户界面。
PDF/X 是 PDF ISO 标准的一个子集。PDF/X 的目的是促进图形交换,因此它具有一系列不适用于标准 PDF 文件的打印相关要求。
在这两种情况下,使用 Save 方法来存储文档,而文档必须使用 PdfFormatConversionOptions 进行准备。
void SaveDocumentAsPDFx()
{
// 路径名称的字符串
String _dataDir("C:\\Samples\\");
// 文件名称的字符串
String infilename("SimpleResume.pdf");
String outfilename("SimpleResume_A3U.pdf");
auto document = MakeObject<Document>(_dataDir + infilename);
auto options = new PdfFormatConversionOptions(Aspose::Pdf::PdfFormat::PDF_A_3U);
try
{
document->Convert(options);
}
catch (const std::exception& e)
{
std::cerr << e.what();
}
document->Save(_dataDir + outfilename);
}