Často kladené otázky

Často kladené otázky

Jaký je licenční model pro Aspose.PDF FOSS for C++?

Aspose.PDF FOSS for C++ je licencováno pod MIT. Je zdarma k použití v komerčních i nekomerčních produktech, bez nutnosti aktivačního klíče, API omezení volání ani komerční smlouvy.

Jak přidat Aspose.PDF FOSS for C++ do projektu CMake?

Získejte nebo naklonujte repozitář do stromu vašeho projektu, přidejte jej jako podadresář a propojte statický knihovní cíl:

add_subdirectory(aspose.pdf-foss-for-cpp)
target_link_libraries(your_app PRIVATE aspose_pdf_foss)

Jaké verze kompilátoru a CMake jsou požadovány?

Kompilátor C++20 — clang 16+, gcc 13+ nebo MSVC 2022 17.5+ — a CMake 3.22 nebo novější. Sestavení také vyžaduje Python 3 jen při době sestavení, aby vygenerovalo zabalené obrysy fontů Standard-14.

Má knihovna nějaké runtime závislosti?

Č. Aspose.PDF FOSS pro C++ je linkováno pouze proti standardní knihovně C++ — není vyžadována žádná třetí strana pro PDF, obrázky ani kompresi během běhu.

Jaké formáty může Aspose.PDF FOSS pro C++ číst a exportovat?

Otevírá a ukládá nativní PDF dokumenty. Vykreslené stránky lze exportovat do Bmp, Jpeg a Tiff pomocí BmpDevice, JpegDevice a TiffDevice a do prostého textu pomocí TextDevice. Obsah SVG lze importovat do dokumentu pomocí SvgLoadOptions.

Jak otevřu existující PDF a zjistím počet jeho stránek?

#include <aspose/pdf/document.hpp>

Aspose::Pdf::Document doc("input.pdf");
std::size_t pages = doc.Pages().Count();

Jak extrahuji text z PDF dokumentu?

Použijte TextAbsorber, navštivte dokument a pak přečtěte shromážděný text:

#include <aspose/pdf/document.hpp>
#include <aspose/pdf/text_absorber.hpp>

Aspose::Pdf::Document doc("input.pdf");
Aspose::Pdf::Text::TextAbsorber absorber;
absorber.Visit(doc);
std::string text = absorber.Text();

Jak vykreslím stránku PDF do obrázku?

Použijte třídu zařízení, například PngDevice, s cílovým Resolution, a poté zpracujte jednu stránku do výstupního proudu:

#include <aspose/pdf/document.hpp>
#include <aspose/pdf/png_device.hpp>
#include <aspose/pdf/resolution.hpp>
#include <fstream>

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);

Jak mohu zašifrovat PDF dokument?

Zavolejte Document.Encrypt() s uživatelským heslem, heslem vlastníka, hodnotou Permissions a CryptoAlgorithm:

#include <aspose/pdf/document.hpp>

Aspose::Pdf::Document doc("input.pdf");
doc.Encrypt("user-password", "owner-password",
            Aspose::Pdf::Permissions(), Aspose::Pdf::CryptoAlgorithm::AESx256);
doc.Save("encrypted.pdf");

RC4x40, RC4x128, AESx128 a AESx256 jsou všechny k dispozici prostřednictvím výčtu CryptoAlgorithm. Document.Decrypt() odstraňuje šifrování z již otevřeného dokumentu.

Jak mohu číst nebo vyplňovat hodnoty polí AcroForm?

Iterujte Form.Fields() z dokumentu a čtěte nebo nastavujte hodnotu každého pole podle jeho částečného názvu:

#include <aspose/pdf/document.hpp>
#include <aspose/pdf/forms/form.hpp>

Aspose::Pdf::Document doc("application_form.pdf");
auto& form = doc.Form();
for (auto* field : form.Fields()) {
    if (field->PartialName() == "applicant_name") {
        field->Value("Jane Doe");
    }
}
doc.Save("application_filled.pdf");

Existují nějaká známá omezení v aktuálním vydání?

Ano. XmpValue — typ hodnoty používaný pro položky XMP metadat vrácené z Document.Metadata() — poskytuje pomocníky pro kontrolu typů IsDateTime(), IsField(), IsNamedValue(), IsRaw(), IsNamedValues() a IsStructure(), které jsou v současnosti stuby a vždy vrací false. Kód, který se na základě těchto kontrol větví, nemůže rozlišovat tyto typy XMP hodnot. Použijte místo nich implementované kontroly — IsString(), IsInteger(), IsDouble(), IsArray() — nebo volejte přímo odpovídající přistupovač (ToStringValue(), ToInteger(), ToDouble(), ToArray()), když je typ hodnoty již ze kontextu znám. Malý počet nízkoúrovňových interních typů také obsahuje stubové konstruktory, které nejsou používány běžným kódem pro zpracování dokumentů.

Kde jsou zdrojový kód a sledovač problémů?

Zdrojový kód a systém sledování problémů jsou k dispozici na https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-Cpp.

Viz také:

 Čeština