แปลง PDF เป็น CSV และ CSV เป็น PDF โดยใช้ C++

ไฟล์ PDF เป็นรูปแบบมาตรฐานสำหรับการแลกเปลี่ยนเอกสารทางอินเทอร์เน็ต อาจมีบางสถานการณ์ที่คุณต้องประมวลผลข้อมูลในไฟล์ PDF และเพิ่มลงในฐานข้อมูล สำหรับสถานการณ์ดังกล่าว การแปลงเอกสาร PDF เป็นรูปแบบ CSV อาจเป็นประโยชน์ ในทางกลับกัน คุณอาจมีข้อมูลแบบตารางในรูปแบบ CSV ที่คุณต้องการแบ่งปันในลักษณะอ่านอย่างเดียวกับผู้อื่น คุณสามารถทำได้โดยการแปลงไฟล์ CSV เป็นรูปแบบ PDF ในบทความนี้ คุณจะได้เรียนรู้วิธีแปลงไฟล์ PDF และ CSV โดยทางโปรแกรมโดยใช้ C++

C ++ API เพื่อแปลง CSV เป็น PDF และ PDF เป็นรูปแบบ CSV

เพื่อให้ได้การแปลงเหล่านี้ คุณจะต้องใช้ API Aspose.Cells for C++ และ Aspose.PDF for C++ แบบแรกคือไลบรารี C++ สำหรับสร้าง อ่าน และแก้ไขไฟล์ Excel ส่วนแบบหลังเป็น API สำหรับการทำงานกับไฟล์ PDF เราจะใช้ Aspose.Cells for C++ API เพื่อแปลงไฟล์ CSV เป็นรูปแบบ PDF และ Aspose.PDF for C++ API เพื่อแปลงไฟล์ PDF เป็นรูปแบบ CSV คุณสามารถติดตั้ง API ผ่าน NuGet หรือดาวน์โหลดโดยตรงจากส่วน ดาวน์โหลด

PM> Install-Package Aspose.Cells.Cpp
PM> Install-Package Aspose.PDF.Cpp

แปลงไฟล์ CSV เป็นรูปแบบ PDF

ต่อไปนี้เป็นขั้นตอนในการแปลงไฟล์ CSV เป็นรูปแบบ PDF

  • สร้างอินสแตนซ์ของคลาส ILoadOptions
  • โหลดไฟล์ CSV โดยสร้างวัตถุของคลาส IWorkbook โดยใช้อินสแตนซ์ ILoadOptions ที่สร้างขึ้นก่อนหน้านี้
  • บันทึกไฟล์ในรูปแบบ PDF โดยใช้ IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName, Aspose::Cells::SaveFormat saveFormat) เมธอด

ต่อไปนี้คือโค้ดตัวอย่างในการแปลงไฟล์ CSV เป็นรูปแบบ PDF โดยใช้ C++

// เส้นทางไดเร็กทอรีต้นทาง
StringPtr srcDir = new String("SourceDirectory\\");

// เส้นทางไดเร็กทอรีเอาต์พุต
StringPtr outDir = new String("OutputDirectory\\");

// สร้างวัตถุ CSV LoadOptions
intrusive_ptr<ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat_CSV);

// โหลดไฟล์ Excel อินพุต
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.csv")), loadOptions);

// บันทึกเป็นไฟล์ PDF
workbook->Save(outDir->StringAppend(new String("Sample1_out.pdf")), SaveFormat_Pdf);

การแปลงไฟล์ PDF เป็นรูปแบบ CSV

ต่อไปนี้เป็นขั้นตอนในการแปลงไฟล์ PDF เป็นรูปแบบ CSV

ต่อไปนี้คือโค้ดตัวอย่างในการแปลงไฟล์ PDF เป็นรูปแบบ CSV โดยใช้ C++

// โหลดไฟล์ PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample2_csv.pdf");

// เริ่มต้นวัตถุคลาส ExcelSaveOptions
auto options = MakeObject<ExcelSaveOptions>();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;

// กำหนดรูปแบบการบันทึกเป็น CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);

// บันทึกเป็นไฟล์ CSV
pdfDocument->Save(u"OutputDirectory\\Sample2_csv_out.csv", options);

แปลงหน้า PDF ที่เลือกเป็นไฟล์ CSV

นอกจากนี้ Aspose.PDF for C++ ยังช่วยให้คุณสามารถรวมหน้า PDF เฉพาะในไฟล์ CSV ที่แปลงแล้ว เพื่อให้บรรลุเป้าหมายนี้ คุณสามารถทำตามขั้นตอนต่อไปนี้

  • โหลดไฟล์ PDF โดยใช้คลาส Document
  • สร้างอินสแตนซ์ของคลาส ExcelSaveOptions
  • กำหนดรูปแบบเป็น CSV โดยใช้เมธอด ExcelSaveOptions->setFormat (ExcelSaveOptions::ExcelFormat)
  • สร้างวัตถุใหม่ของคลาส Document เพื่อแสดงไฟล์ CSV
  • วนซ้ำหน้าต่างๆ ของไฟล์ PDF โดยใช้เมธอด Document->getPages()
  • ภายในลูป ให้ระบุเงื่อนไขสำหรับเลือกเพจที่ต้องการ
  • เพิ่มหน้าไปยังวัตถุ Document ที่สร้างขึ้นใหม่โดยใช้ [Document->getPages()->Add (System::SharedPtr const & เอนทิตี) 20 วิธีการ
  • บันทึกไฟล์ CSV โดยใช้ [Document->Save (System::String outputFileName, System::SharedPtr ตัวเลือก) 21 เมธอดนอกลูป

ต่อไปนี้คือโค้ดตัวอย่างเพื่อรวมหน้า PDF ที่เลือกไว้ในไฟล์ CSV

// โหลดไฟล์ PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample2_csv.pdf");

// เริ่มต้นวัตถุคลาส ExcelSaveOptions
auto options = MakeObject<ExcelSaveOptions>();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;

// กำหนดรูปแบบการบันทึกเป็น CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);

// สร้างอินสแตนซ์ของคลาส Document เพื่อแสดงไฟล์ CSV
auto newPdfDocument = MakeObject<Document>();

for (int i = 1; i <= pdfDocument->get_Pages()->get_Count(); i++)
{
	// รับ 2 หน้าแรก
	if (i <= 2)
	{
		// เพิ่มหน้าไปยังตัวอย่างเอกสารใหม่
		newPdfDocument->get_Pages()->Add(pdfDocument->get_Pages()->idx_get(i));
	}
}

// บันทึกเป็นไฟล์ CSV
newPdfDocument->Save(u"OutputDirectory\\Sample2_csv_out.csv", options);

การแปลงหน้า PDF เป็นไฟล์ CSV แต่ละไฟล์

ด้วย Aspose.PDF for C++ คุณยังสามารถแปลงหน้า PDF เป็นไฟล์ CSV แต่ละไฟล์ได้อีกด้วย เพื่อให้บรรลุเป้าหมายนี้ คุณสามารถทำตามขั้นตอนต่อไปนี้

ต่อไปนี้คือโค้ดตัวอย่างสำหรับแปลงหน้า PDF เป็นไฟล์ CSV แต่ละไฟล์โดยใช้ C++

// โหลดไฟล์ PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample2_csv.pdf");

// เริ่มต้นวัตถุคลาส ExcelSaveOptions
auto options = MakeObject<ExcelSaveOptions>();
options->ConversionEngine = ExcelSaveOptions::ConversionEngines::NewEngine;

// กำหนดรูปแบบการบันทึกเป็น CSV
options->set_Format(ExcelSaveOptions::ExcelFormat::CSV);

for (int i = 1; i <= pdfDocument->get_Pages()->get_Count(); i++)
{
	// สร้างอินสแตนซ์ของคลาส Document เพื่อแสดงไฟล์ CSV
	auto newPdfDocument = MakeObject<Document>();

	// เพิ่มหน้าไปยังตัวอย่างเอกสารใหม่
	newPdfDocument->get_Pages()->Add(pdfDocument->get_Pages()->idx_get(i));

	// บันทึกเป็นไฟล์ CSV
	newPdfDocument->Save(u"OutputDirectory\\Sample2_csv_out_" + System::Convert::ToString(i) + u".csv", options);
}

รับใบอนุญาตฟรี

คุณสามารถลองใช้ API ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีแปลงไฟล์ CSV เป็น PDF และไฟล์ PDF เป็นรูปแบบ CSV นอกจากนี้ คุณได้เห็นวิธีเพิ่มหน้าเฉพาะลงในไฟล์ CSV ที่สร้างขึ้นหรือแปลงหน้า PDF เป็นไฟล์ CSV แต่ละไฟล์ Aspose.Cells for C++ และ Aspose.PDF for C++ เป็น API ที่มีประสิทธิภาพสำหรับการทำงานกับไฟล์ Excel และ PDF ตามลำดับ คุณสามารถสำรวจ API โดยละเอียดได้โดยไปที่เอกสารอย่างเป็นทางการ ในกรณีที่มีคำถามใดๆ โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี

ดูสิ่งนี้ด้วย