よくある質問
Aspose.PDF FOSS for C++ のライセンスモデルは何ですか?
Aspose.PDF FOSS for C++ は MIT ライセンスです。商用・非商用製品のいずれでも無料で使用でき、アクティベーションキー、API 呼び出し制限、商業契約は不要です。
CMake プロジェクトに Aspose.PDF FOSS for C++ を追加するにはどうすればよいですか?
リポジトリをベンダー化するかクローンしてプロジェクトツリーに配置し、サブディレクトリとして追加し、静的ライブラリターゲットをリンクします:
add_subdirectory(aspose.pdf-foss-for-cpp)
target_link_libraries(your_app PRIVATE aspose_pdf_foss)必要なコンパイラと CMake のバージョンは何ですか?
C++20 コンパイラ(clang 16 以上、gcc 13 以上、または MSVC 2022 17.5 以上)と CMake 3.22 以降が必要です。ビルド時にのみ Python 3 が必要で、バンドルされた Standard-14 フォントアウトラインを生成します。
このライブラリにはランタイム依存関係がありますか?
No. Aspose.PDF C++ 用の FOSS は C++ 標準ライブラリ以外にはリンクしません — ランタイム時にサードパーティの PDF、画像、圧縮依存は必要ありません。
Aspose.PDF C++ 用 FOSS が読み取り・エクスポートできる形式は何ですか?
ネイティブ PDF ドキュメントを開いたり保存したりできます。レンダリングされたページは BmpDevice、JpegDevice、TiffDevice を使用して Bmp、Jpeg、Tiff にエクスポートでき、TextDevice を使用してプレーンテキストにエクスポートできます。SVG コンテンツは SvgLoadOptions を介してドキュメントにインポートできます。
既存の PDF を開いてページ数を確認するにはどうすればよいですか?
#include <aspose/pdf/document.hpp>
Aspose::Pdf::Document doc("input.pdf");
std::size_t pages = doc.Pages().Count();PDF ドキュメントからテキストを抽出するにはどうすればよいですか?
TextAbsorber を使用し、ドキュメントにアクセスして、収集したテキストを読み取ります:
#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();PDF ページを画像としてレンダリングするにはどうすればよいですか?
PngDevice のようなデバイスクラスを Resolution ターゲットと共に使用し、単一ページを出力ストリームに処理します:
#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);PDFドキュメントを暗号化するにはどうすればよいですか?
ユーザーパスワード、オーナーパスワード、Permissions の値、そして CryptoAlgorithm を指定して Document.Encrypt() を呼び出します:
#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、AESx256 はすべて CryptoAlgorithm 列挙型で利用可能です。Document.Decrypt() は、すでに開かれているドキュメントから暗号化を解除します。
AcroForm フィールドの値を読むまたは入力するにはどうすればよいですか?
ドキュメントから Form.Fields() を反復処理し、部分名で各フィールドの値を読み取るか設定します:
#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");現在のリリースで既知の制限はありますか?
はい。XmpValue — Document.Metadata() から返される XMP メタデータエントリに使用される値タイプ — は、現在スタブで常に false を返す型チェックヘルパー IsDateTime()、IsField()、IsNamedValue()、IsRaw()、IsNamedValues()、および IsStructure() を公開しています。これらのチェックに分岐するコードは、XMP の値種別を区別できません。代わりに実装済みのチェック — IsString()、IsInteger()、IsDouble()、IsArray() — を使用するか、コンテキストから値の種別が既に分かっている場合は対応するアクセサ (ToStringValue()、ToInteger()、ToDouble()、ToArray()) を直接呼び出してください。少数の低レベル内部タイプにも、典型的なドキュメント処理コードでは使用されないスタブコンストラクタが含まれています。
ソースコードとイシュー・トラッカーはどこにありますか?
ソースコードと課題トラッカーは https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-Cpp で入手可能です。