Cara Membaca File PDF di C++

Dalam tutorial ini, kita akan belajar cara membaca file PDF di C++. Anda dapat mengekstrak teks atau gambar dari halaman atau seluruh dokumen file PDF dengan panggilan API sederhana di C++. Fitur ini tidak bergantung pada Adobe Acrobat atau aplikasi apa pun untuk membaca PDF di platform Windows atau Linux.

Langkah-langkah Membaca File PDF di C++

  1. Instal Aspose.Pdf for C++ dari alat manajer paket NuGet
  2. Tambahkan referensi ke Aspose::Pdf namespace
  3. Muat PDF masukan menggunakan Document Class
  4. Inisialisasi instance kelas TextFragmentAbsorber
  5. Cetak teks yang diekstrak di konsol
  6. Iterasi melalui setiap halaman dan gambar dokumen
  7. Simpan gambar keluaran yang diekstraksi sebagai file JPG

Anda dapat membuka dan membaca file pdf dalam C++ dengan beberapa baris kode sederhana. Secara efisien dapat mengekstrak semua teks dan gambar dari file PDF.

Kode untuk Membaca File PDF di C++

#pragma once
#include <iostream>
#include <system/smart_ptr.h>
#include <Aspose.PDF.Cpp/License.h>
#include <Aspose.PDF.Cpp/Document.h>
#include <Aspose.PDF.Cpp/Page.h>
#include <Aspose.PDF.Cpp/PageCollection.h>
#include <Aspose.PDF.Cpp/Resources.h>
#include <Aspose.PDF.Cpp/XImageCollection.h>
#include <Aspose.PDF.Cpp/XImage.h>
#include <Aspose.PDF.Cpp/Text/TextFragmentAbsorber.h>
#include <system/console.h>
#include <system/io/file.h>
#include <drawing/imaging/image_format.h>
using namespace System;
using namespace Aspose::Pdf;
class ReadPDFEx {
public:
static void ReadPDF()
{
// Set the license for Aspose.PDF for CPP to Read PDF file
SharedPtr<License> ReadPdfLicense = System::MakeObject<License>();
ReadPdfLicense->SetLicense(u"Aspose.PDF.NET.lic");
// Load input PDF file with Document class object
SharedPtr<Document> doc = MakeObject<Document>(u"Test.pdf");
// Initialize a TextFragmentAbsorber class instance
SharedPtr<Aspose::Pdf::Text::TextFragmentAbsorber> absorber = MakeObject<Aspose::Pdf::Text::TextFragmentAbsorber>();
doc->get_Pages()->Accept(absorber);
// Print the extracted text on console
System::Console::WriteLine(absorber->get_Text());
// Set the image counter variable
int ImageCount = 1;
// Iterate through each page of the PDF document
for (SharedPtr<Page> page : doc->get_Pages())
{
// Iterate through all the images
for (SharedPtr<XImage> image : page->get_Resources()->get_Images())
{
// Initialize an object of the FileStream type
System::SharedPtr<System::IO::FileStream> outputImage =
System::IO::File::Create(String::Format(u"Image{0}.jpg", ImageCount));
// Save the output image
image->Save(outputImage, System::Drawing::Imaging::ImageFormat::get_Jpeg());
// Close the FileStream
outputImage->Close();
ImageCount++;
}
}
}
};

Dalam topik sebelumnya, kita telah menjelajahi Cara Meratakan Bidang Formulir PDF di C#. Topik ini berfokus pada cara membaca teks dari file PDF di C++.

 Indonesian