使用 C++ 拆分 PDF 文件

PDF 是通过 Internet 共享文档的标准格式。其全球支持和一致的布局使其成为此类场景的理想选择。但在某些情况下,共享完整的 PDF 文件可能不是一个理想或适当的选择。对于这种情况,您可以根据需要拆分 PDF 文件。您可以手动执行此操作,但这可能会证明效率较低且耗时。或者,您可以通过编程方式拆分 PDF 文档。在本文中,您将学习如何使用 C++ 拆分 PDF 文件。

用于拆分 PDF 文件的 C++ API

Aspose.PDF for C++ 是一个 C++ 库,允许您创建、阅读和更新 PDF 文档。此外,API 支持将 PDF 文件拆分为多个文档。您可以通过 NuGet 安装 API,也可以直接从 下载 部分下载。

PM> Install-Package Aspose.PDF.Cpp

使用 C++ 拆分 PDF 文件

Aspose.PDF for C++ 允许您将 PDF 文件的每一页保存为单独的 PDF 文档。以下是使用 C++ 实现此目的的步骤。

以下是使用 C++ 拆分 PDF 文件的示例代码。

// 加载 PDF 文件
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");

// 页面计数器
int pageCount = 1;

// 循环遍历所有页面
for (auto page : pdfDocument->get_Pages())
{
	// 创建新文档
	auto newDoc = MakeObject<Document>();

	// 将页面添加到文档
	newDoc->get_Pages()->Add(page);

	// 另存为 PDF
	newDoc->Save(u"OutputDirectory\\Sample_Page_" + System::Convert::ToString(pageCount) + u"_out.pdf");
	pageCount++;
}

使用 C++ 拆分选定的 PDF 页面

您可以为拆分 PDF 文件指定不同的条件,而不是单独保存每一页。以下是使用 C++ 拆分选定 PDF 页面的步骤。

以下是使用 C++ 拆分特定 PDF 页面的示例代码。

// 加载 PDF 文件
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");

// 创建新文档
auto newDoc = MakeObject<Document>();

// 页面计数器
int pageCount = 1;

// 循环遍历所有页面
for (auto page : pdfDocument->get_Pages())
{
	// 只获取偶数页
	if (pageCount % 2 == 0)
	{
		// 将页面添加到文档
		newDoc->get_Pages()->Add(page);
	}
	pageCount++;
}

// 另存为 PDF
newDoc->Save(u"OutputDirectory\\Sample_Even_Pages_out.pdf");

获得免费许可证

您可以通过请求 免费的临时许可证 来试用该 API,而不受评估限制。

结论

在本文中,您学习了如何使用 C++ 将 PDF 文件拆分为单独的页面。此外,您还学习了如何使用自定义标准来自定义 PDF 文件的拆分。 Aspose.PDF for C++ 是一个庞大的库,具有许多用于处理 PDF 文件的附加功能。您可以使用 官方文档 详细探索 API。如有任何问题,请随时通过我们的 免费支持论坛 与我们联系。

也可以看看