Pertanyaan yang Sering Diajukan

Pertanyaan yang Sering Diajukan

Apa model lisensi untuk Aspose.PDF FOSS for C++?

Aspose.PDF FOSS for C++ berlisensi MIT. Gratis untuk digunakan dalam produk komersial maupun non-komersial, tanpa kunci aktivasi, batas panggilan API, atau perjanjian komersial diperlukan.

Bagaimana cara menambahkan Aspose.PDF FOSS for C++ ke proyek CMake?

Vendor atau kloning repositori ke dalam pohon proyek Anda, tambahkan sebagai subdirektori, dan tautkan target pustaka statis:

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

Compiler dan versi CMake apa yang diperlukan?

Compiler C++20 — clang 16+, gcc 13+, atau MSVC 2022 17.5+ — dan CMake 3.22 atau lebih baru. Build juga memerlukan Python 3 hanya pada waktu build, untuk menghasilkan outline font Standard-14 yang disertakan.

Apakah pustaka memiliki dependensi runtime apa pun?

No. Aspose.PDF FOSS untuk C++ terhubung hanya dengan pustaka standar C++ — tidak ada ketergantungan PDF, gambar, atau kompresi pihak ketiga yang diperlukan pada runtime.

Format apa yang dapat dibaca dan diekspor oleh Aspose.PDF FOSS untuk C++?

Ia membuka dan menyimpan dokumen PDF asli. Halaman yang dirender dapat diekspor ke Bmp, Jpeg, dan Tiff melalui BmpDevice, JpegDevice, dan TiffDevice, serta ke teks biasa melalui TextDevice. Konten SVG dapat diimpor ke dalam dokumen melalui SvgLoadOptions.

Bagaimana cara membuka PDF yang ada dan memeriksa jumlah halamannya?

#include <aspose/pdf/document.hpp>

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

Bagaimana cara mengekstrak teks dari dokumen PDF?

Gunakan TextAbsorber, kunjungi dokumen, lalu baca teks yang dikumpulkan:

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

Bagaimana cara merender halaman PDF menjadi gambar?

Gunakan kelas perangkat seperti PngDevice dengan target Resolution, lalu proses satu halaman ke aliran output:

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

Bagaimana cara saya mengenkripsi dokumen PDF?

Panggil Document.Encrypt() dengan kata sandi pengguna, kata sandi pemilik, nilai Permissions, dan 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, dan AESx256 semuanya tersedia melalui enum CryptoAlgorithm. Document.Decrypt() menghapus enkripsi dari dokumen yang sudah terbuka.

Bagaimana cara saya membaca atau mengisi nilai bidang AcroForm?

Iterasikan Form.Fields() dari dokumen dan baca atau setel nilai setiap bidang berdasarkan nama parsialnya:

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

Apakah ada batasan yang diketahui pada rilis saat ini?

Ya. XmpValue — tipe nilai yang digunakan untuk entri metadata XMP yang dikembalikan dari Document.Metadata() — menyediakan pembantu pemeriksaan tipe IsDateTime(), IsField(), IsNamedValue(), IsRaw(), IsNamedValues(), dan IsStructure() yang saat ini berupa stub dan selalu mengembalikan false. Kode yang bercabang pada pemeriksaan ini tidak dapat membedakan jenis nilai XMP tersebut. Gunakan pemeriksaan yang sudah diimplementasikan — IsString(), IsInteger(), IsDouble(), IsArray() — atau panggil accessor yang cocok (ToStringValue(), ToInteger(), ToDouble(), ToArray()) secara langsung ketika jenis nilai sudah diketahui dari konteks. Sejumlah kecil tipe internal tingkat rendah juga berisi konstruktor stub yang tidak digunakan oleh kode pemrosesan dokumen umum.

Di mana kode sumber dan pelacak isu?

Kode sumber dan pelacak masalah tersedia di https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-Cpp.

Lihat Juga

 Bahasa Indonesia