Cazuri de utilizare
Acest ghid demonstrează cazuri de utilizare din viața reală pentru Aspose.PDF FOSS pentru C++, incluzând generarea de documente, conversia PDF în imagine, extragerea de text, distribuirea securizată și AcroForm colectarea de date. Biblioteca se leagă doar de biblioteca standard C++ și necesită un compilator C++20.
Generarea de documente
Construiți un PDF de la zero adăugând pagini la un nou Document și salvând rezultatul. Acest model stă la baza generării de facturi, tipăririi de certificate și a fluxurilor de producție a extraselor:
#include <aspose/pdf/document.hpp>
int main() {
Aspose::Pdf::Document doc;
doc.Pages().Add();
doc.SetTitle("Monthly Report");
doc.Save("report.pdf");
}Conversia PDF în imagine
Randați o pagină într-o imagine raster pentru miniaturi, ieșire pregătită pentru tipărire sau linii de bază pentru regresia vizuală. PngDevice, JpegDevice, BmpDevice și TiffDevice procesează fiecare o pagină odată, la o rezoluție dată:
#include <aspose/pdf/document.hpp>
#include <aspose/pdf/png_device.hpp>
#include <aspose/pdf/resolution.hpp>
#include <fstream>
int main() {
Aspose::Pdf::Document doc("input.pdf");
Aspose::Pdf::Devices::PngDevice png(Aspose::Pdf::Devices::Resolution(150));
std::ofstream out("page1.png", std::ios::binary);
png.Process(doc.Pages()[1], out);
}Extragerea de text și indexarea
Extrage textul complet al unui document cu TextAbsorber pentru indexarea în căutări, conductele de data-mining sau verificarea automată a conținutului în suite de teste:
#include <aspose/pdf/document.hpp>
#include <aspose/pdf/text_absorber.hpp>
#include <iostream>
int main() {
Aspose::Pdf::Document doc("input.pdf");
Aspose::Pdf::Text::TextAbsorber absorber;
absorber.Visit(doc);
std::cout << absorber.Text() << "\n";
}Distribuție sigură a documentelor
Criptează un document cu parole separate pentru utilizator și proprietar înainte de distribuție. Parola utilizatorului este necesară pentru a deschide fișierul; parola proprietarului controlează permisiunile, cum ar fi imprimarea și extragerea conținutului:
#include <aspose/pdf/document.hpp>
int main() {
Aspose::Pdf::Document doc("report.pdf");
doc.Encrypt("user-password", "owner-password",
Aspose::Pdf::Permissions(),
Aspose::Pdf::CryptoAlgorithm::AESx256);
doc.Save("report-secured.pdf");
}AcroForm Colectare de date
Citește valorile trimise înapoi dintr-un formular PDF completat prin iterarea Form.Fields() și afișarea numelui fiecărui câmp și a valorii curente — util pentru procesarea formularelor de aplicație completate fără un server separat de trimitere a formularelor:
#include <aspose/pdf/document.hpp>
#include <aspose/pdf/forms/form.hpp>
#include <iostream>
int main() {
Aspose::Pdf::Document doc("submitted-form.pdf");
auto& form = doc.Form();
for (auto* field : form.Fields()) {
std::cout << field->PartialName() << " = " << field->Value() << "\n";
}
}