Gyakran Ismételt Kérdések
Mi a licencelési modell a Aspose.PDF FOSS for C++ esetén?
Aspose.PDF FOSS for C++ MIT licenc alatt áll. Ingyenesen használható kereskedelmi és nem-kereskedelmi termékekben, aktivációs kulcs, API hívásszámkorlátozás vagy kereskedelmi megállapodás nélkül.
Hogyan adhatom hozzá a Aspose.PDF FOSS for C++-t egy CMake projekthez?
Szerezze be a repót (vendor vagy clone) a projektfába, adja hozzá alkönyvtárként, és linkelje a statikus könyvtár célt:
add_subdirectory(aspose.pdf-foss-for-cpp)
target_link_libraries(your_app PRIVATE aspose_pdf_foss)Milyen fordító és CMake verziók szükségesek?
C++20 fordító — clang 16+, gcc 13+, vagy MSVC 2022 17.5+ — és CMake 3.22 vagy újabb. A buildhez csak a Python 3 szükséges build időben, a csomagolt Standard-14 betűkészlet körvonalak generálásához.
Van a könyvtárnak bármilyen futásidejű függősége?
Nem. Aspose.PDF FOSS for C++ csak a C++ szabványos könyvtárra hivatkozik — futásidőben nem szükséges semmilyen harmadik féltől származó PDF, kép vagy tömörítés függőség.
Milyen formátumokat tud Aspose.PDF FOSS for C++ olvasni és exportálni?
Natív PDF dokumentumokat nyit meg és ment. A renderelt oldalakat exportálhatja Bmp, Jpeg és Tiff formátumba a BmpDevice, JpegDevice és TiffDevice segítségével, valamint egyszerű szövegbe a TextDevice használatával. SVG tartalmat importálhat egy dokumentumba a SvgLoadOptions segítségével.
Hogyan nyithatok meg egy meglévő PDF-et, és ellenőrizhetem az oldalszámát?
#include <aspose/pdf/document.hpp>
Aspose::Pdf::Document doc("input.pdf");
std::size_t pages = doc.Pages().Count();Hogyan tudok szöveget kinyerni egy PDF dokumentumból?
Használja a TextAbsorber-t, látogassa meg a dokumentumot, majd olvassa el az összegyűjtött szöveget:
#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();Hogyan renderelhetek egy PDF oldalt képre?
Használjon egy eszközosztályt, például a PngDevice-t, egy cél Resolution-vel, majd dolgozzon fel egyetlen oldalt egy kimeneti adatfolyamba:
#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);Hogyan titkosíthatok egy PDF dokumentumot?
Hívja meg a Document.Encrypt() felhasználói jelszóval, tulajdonosi jelszóval, egy Permissions értékkel és egy CryptoAlgorithm értékkel:
#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");Az RC4x40, RC4x128, AESx128 és AESx256 a CryptoAlgorithm felsoroláson keresztül érhetők el. A Document.Decrypt() eltávolítja a titkosítást egy már megnyitott dokumentumból.
Hogyan olvashatom vagy tölthetem ki a AcroForm mezőértékeket?
Iteráljon a Form.Fields() elemen a dokumentumból, és olvassa vagy állítsa be minden mező értékét a részleges neve alapján:
#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");Vannak ismert korlátozások a jelenlegi kiadásban?
Igen. XmpValue — az XMP metaadat-bejegyzésekhez használt értéktípus, amelyet a Document.Metadata() ad vissza — olyan típusellenőrző segédfüggvényeket tesz elérhetővé, mint IsDateTime(), IsField(), IsNamedValue(), IsRaw(), IsNamedValues() és IsStructure(), amelyek jelenleg stubként működnek, és mindig a false értéket adják vissza. Az ezekre az ellenőrzésekre épülő kód nem tudja megkülönböztetni ezeket az XMP értéktípusokat. Használja helyette a megvalósított ellenőrzéseket — IsString(), IsInteger(), IsDouble(), IsArray() — vagy hívja közvetlenül a megfelelő accessor-t (ToStringValue(), ToInteger(), ToDouble(), ToArray()), ha a érték típusa már ismert a kontextusból. Egy kis számú alacsony szintű belső típus is tartalmaz stub konstruktorokat, amelyeket a tipikus dokumentumfeldolgozó kód nem használ.
Hol található a forráskód és a hibakövető?
A forráskód és a hibakövető a https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-Cpp címen érhető el.