PDF 是用于通过Internet共享文档的标准格式。它的全球支持和一致的布局使其成为此类方案的理想选择。但是在某些情况下,共享完整的PDF文件不是理想或适当的选择。

在这种情况下,可以根据需要拆分PDF文件。可以手动执行此操作,但是这样做可能会效率较低且耗时。或者,可以通过编程方式拆分PDF文档。在本文中,将学习 如何使用C ++分割PDF文件。

  • 使用C ++分割PDF档案
  • 使用C ++分割选定的PDF页面

Aspose.PDF for C++是一个C ++库,您可以使用它创建,阅读和更新PDF文档。此外,API支持将PDF文件拆分为多个文档。获取下载


使用C ++分割PDF档案

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

  • 使用Document 类加载源PDF文件 。
  • 使用Document-> get_Pages()方法循环遍历源PDF文件的页面。
  • 在循环中,创建的实例 表示新的PDF文件的文档类。
  • 将循环中检索到的页面添加到新创建的页面中文档对象。
  • 使用Document-> Save(System :: String outputFileName)方法保存新的PDF文件。

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

// Load PDF file
auto pdfDocument = MakeObject(u"SourceDirectory\\Sample 1.pdf");

// Page counter
int pageCount = 1;

// Loop through all the pages
for (auto page : pdfDocument->get_Pages())
{
	// Create new document
	auto newDoc = MakeObject();

	// Add page to the document
	newDoc->get_Pages()->Add(page);

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

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

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

  • 使用Document 类加载源PDF文件 。
  • 创建一个实例 表示新的PDF文件的文档类
  • 使用Document-> get_Pages()方法循环遍历源PDF文件的页面
  • 将所需的页面添加到新创建的Document对象。
  • 使用Document-> Save(System :: String outputFileName)方法保存新的PDF文件。

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

// Load PDF file
auto pdfDocument = MakeObject(u"SourceDirectory\\Sample 1.pdf");

// Create new document
auto newDoc = MakeObject();

// Page counter
int pageCount = 1;

// Loop through all the pages
for (auto page : pdfDocument->get_Pages())
{
	// Get only even pages
	if (pageCount % 2 == 0)
	{
		// Add page to the document
		newDoc->get_Pages()->Add(page);
	}
	pageCount++;
}

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

如果您有任何疑问或需求,请随时加入Aspose技术交流群(761297826),我们很高兴为您提供查询和咨询

04-13 04:59