无需MS Office创建Excel!使用C ++将实现CSV和PDF格式相互转换教程来啦!

在某些情况下,需要处理PDF文件中的数据并将其添加到数据库中。对于这种情况,将PDF文档转换为 CSV 格式可能会有所帮助。在本文中,将学习如何使用C ++以编程方式对PDF和CSV文件进行相互转换。

PDF 文件是通过Internet交换文档的标准格式。在某些情况下,需要处理PDF文件中的数据并将其添加到数据库中。对于这种情况,将PDF文档转换为 CSV 格式可能会有所帮助。另一方面,可能希望以只读方式与某人共享一些CSV格式的表格数据。可以通过将CSV文件转换为PDF格式来实现。在本文中,将学习如何使用C ++以编程方式对PDF和CSV文件进行相互转换。

  • 将CSV文件转换为PDF格式
  • 将PDF文件转换为CSV格式
  • 将选定的PDF页面转换为CSV文件
  • 将PDF页面转换为单个CSV文件

要实现这些转换,您需要C ++ API的Aspose.Cells和C ++ API的Aspose.PDF。前者是用于创建,读取和修改Excel文件的C ++库,而后者是用于处理PDF文件的API。我们将使用Aspose.Cells for C ++ API将CSV文件转换为PDF格式,并使用Aspose.PDF for C ++ API将PDF文件转换为CSV格式。

无需MS Office创建Excel!使用C ++将实现CSV和PDF格式相互转换教程来啦!整合所有格式的Aspose.Total永久授权正在火热促销中,联系客服立马1分钟了解全部咨询!

将CSV文件转换为PDF格式

以下是将CSV文件转换为PDF格式的步骤。

  • 创建ILoadOptions 类的实例 。
  • 通过 使用先前 创建的ILoadOptions实例创建IWorkbook类 的对象来加载CSV文件 。
  • 使用IWorkbook-> Save(intrusive_ptrfileName,Aspose :: Cells :: SaveFormat saveFormat) 方法将文件保存为PDF格式 。

以下是使用C ++将CSV文件转换为PDF格式的示例代码。

// Source directory path.StringPtr srcDir = new String("SourceDirectory\");// Output directory path.StringPtr outDir = new String("OutputDirectory\");// Create CSV LoadOptions objectintrusive_ptrloadOptions = Factory::CreateILoadOptions(LoadFormat_CSV);// Load the input Excel fileintrusive_ptrworkbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.csv")), loadOptions);// Save as PDF fileworkbook->Save(outDir->StringAppend(new String("Sample1_out.pdf")), SaveFormat_Pdf);

将PDF文件转换为CSV格式

以下是将PDF文件转换为CSV格式的步骤。

  • 使用Document 类加载PDF文件 。
  • 创建一个ExcelSaveOptions类的实例。
  • 使用ExcelSaveOptions-> set_Format(ExcelSaveOptions :: ExcelFormat值)方法将格式设置为CSV 。
  • 使用“文档”->“保存”(System :: String outputFileName,System :: SharedPtr选项)方法保存CSV文件。

以下是使用C ++将PDF文件转换为CSV格式的示例代码。

// Load PDF fileauto pdfDocument = MakeObject(u"SourceDirectory\Sample2_csv.pdf");// Initialize ExcelSaveOptions class objectauto options = MakeObject();options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;// Set save format as CSVoptions->set_Format(ExcelSaveOptions::ExcelFormat::CSV);// Save as CSV filepdfDocument->Save(u"OutputDirectory\Sample2_csv_out.csv", options);

将选定的PDF页面转换为CSV文件

Aspose.PDF for C ++还使您能够在转换的CSV文件中包含特定的PDF页面。为此,可以按照以下步骤操作。

  • 使用Document 类加载PDF文件 。
  • 创建一个ExcelSaveOptions类的实例。
  • 使用ExcelSaveOptions-> set_Format(ExcelSaveOptions :: ExcelFormat值)方法将格式设置为CSV 。
  • 创建Document 类的新对象以表示CSV文件。
  • 使用Document-> get_Pages() 方法循环浏览PDF文件的页面 。
  • 在循环中,指定选择所需页面的条件。
  • 使用Document-> get_Pages()-> Add(系统:: SharedPtr常量和实体)方法将页面添加到新创建的Document对象。
  • 在循环外使用“文档”->“保存”(System :: String outputFileName,System :: SharedPtr选项)方法保存CSV文件。

以下是在CSV文件中包含选定PDF页面的示例代码。

// Load PDF fileauto pdfDocument = MakeObject(u"SourceDirectory\Sample2_csv.pdf");// Initialize ExcelSaveOptions class objectauto options = MakeObject();options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;// Set save format as CSVoptions->set_Format(ExcelSaveOptions::ExcelFormat::CSV);// Create an instance of the Document class to represent the CSV file.auto newPdfDocument = MakeObject();for (int i = 1; i <= pdfDocument->get_Pages()->get_Count(); i++){// Get first 2 pagesif (i <= 2) { // Add the page to the new Document instance newPdfDocument->get_Pages()->Add(pdfDocument->get_Pages()->idx_get(i));}}// Save as CSV filenewPdfDocument->Save(u"OutputDirectory\Sample2_csv_out.csv", options);

将PDF页面转换为单个CSV文件

使用Aspose.PDF for C ++,您还可以将PDF页面转换为单个CSV文件。为此,您可以按照以下步骤操作。

  • 使用Document 类加载PDF文件 。
  • 创建一个ExcelSaveOptions类的实例。
  • 使用ExcelSaveOptions-> set_Format(ExcelSaveOptions :: ExcelFormat值)方法将格式设置为CSV 。
  • 使用Document-> get_Pages() 方法循环浏览PDF文件的页面 。
  • 在循环中,创建Document 类的新对象以表示CSV文件。
  • 使用Document-> get_Pages()-> Add(系统:: SharedPtr常量和实体)方法将页面添加到新创建的Document对象。
  • 使用“文档”->“保存”(System :: String outputFileName,System :: SharedPtr选项)方法保存CSV文件。

以下是使用C ++将PDF页面转换为单个CSV文件的示例代码。

// Load PDF fileauto pdfDocument = MakeObject(u"SourceDirectory\Sample2_csv.pdf");// Initialize ExcelSaveOptions class objectauto options = MakeObject();options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;// Set save format as CSVoptions->set_Format(ExcelSaveOptions::ExcelFormat::CSV);for (int i = 1; i <= pdfDocument->get_Pages()->get_Count(); i++){// Create an instance of the Document class to represent the CSV file.auto newPdfDocument = MakeObject();// Add the page to the new Document instancenewPdfDocument->get_Pages()->Add(pdfDocument->get_Pages()->idx_get(i));// Save as CSV filenewPdfDocument->Save(u"OutputDirectory\Sample2_csv_out_" + System::Convert::ToString(i) + u".csv", options);}

如果你想试用Aspose的全部完整功能,可联系在线客服获取30天临时授权体验。


还想要更多吗可以点击阅读【2020 · Aspose最新资源整合】查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(),我们很高兴为您提供查询和咨询
标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月27日
下一篇 2021年1月27日

相关推荐

发表回复

登录后才能评论