Kaip skaityti PDF failą C++

Šioje pamokoje sužinosime, kaip skaityti PDF failą C++. Galite išgauti tekstą ar vaizdus iš bet kurio PDF failo puslapio ar viso dokumento naudodami paprastus API skambučius C++. Ši funkcija nepriklauso nuo “Adobe Acrobat” ar jokios PDF skaitymo programos Windows ar Linux platformose.

Veiksmai, kaip skaityti PDF failą C++

  1. Įdiekite Aspose.Pdf for C++ iš NuGet paketų tvarkyklės įrankio
  2. Pridėkite nuorodą į Aspose::Pdf vardų erdvę
  3. Įkelkite įvesties PDF naudodami Document Class
  4. Inicijuoti TextFragmentAbsorber klasės egzempliorių
  5. Spausdinkite ištrauktą tekstą konsolėje
  6. Pakartokite kiekvieną dokumento puslapį ir vaizdą
  7. Išsaugokite ištrauktą išvesties vaizdą kaip JPG failą

Galite * atidaryti ir skaityti pdf failą C++* naudodami keletą paprastų kodo eilučių. Jis gali efektyviai ištraukti visą tekstą ir vaizdus iš PDF failo.

Kodas, skirtas skaityti PDF failą 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++;
}
}
}
};

Ankstesnėje temoje tyrinėjome Kaip išlyginti PDF formos laukus C#. Šioje temoje dėmesys sutelkiamas į tai, kaip skaityti tekstą iš PDF failo C++.

 Latviski