PDF ライブラリの機能
PDF ライブラリ機能
このページでは、Go 用 Aspose.PDF FOSS の主要な機能領域を要約しています。各セクションは、完全なコード例が掲載された専用の開発者ガイドページへリンクしています。
文書管理
Document は中心的な型です。Open、OpenWithPassword のオープン、NewDocument の作成、Save の保存、そしてページコレクションの操作(Split、Append、Extract、PageCount)をサポートします。SetMetadata と Metadata は Info 辞書フィールドへの読み書きアクセスを提供します。
doc, _ := pdf.Open("input.pdf")
pages, _ := doc.Split()
fmt.Printf("Split into %d pages\n", len(pages))セキュリティと暗号化
EncryptionOptions は、Document.SetEncryption を一度呼び出すだけでパスワードベースの暗号化を設定します。サポートされているアルゴリズムは、AES-128(デフォルト)、AES-256(ISO 32000-2 / PDF 2.0)、および RC4-128 です。Permissions は、印刷、コピー、アクセシビリティなどの個別操作をそれぞれ独立して制御します。
doc, _ := pdf.Open("doc.pdf")
doc.SetEncryption(pdf.EncryptionOptions{
UserPassword: "user",
OwnerPassword: "owner",
Permissions: &pdf.Permissions{AllowPrint: true},
})
doc.Save("doc_secured.pdf")AcroForm 処理
Document.Form はすべてのフィールドへのアクセスを提供する *Form を返します。型アサーションにより、特定のフィールド型が公開されます: TextBoxField、CheckboxField、RadioButtonField、ComboBoxField、ListBoxField、および ButtonField。フィールド値は書き込まれ、外観は PDF ビューアによって自動的に再生成されます。
doc, _ := pdf.Open("form.pdf")
text := doc.Form().Field("name").(*pdf.TextBoxField)
text.SetValue("Jane Doe")
doc.Save("form_filled.pdf")テーブルレイアウト
Table、Row、および Cell は、ページ上に配置されるグリッドレイアウトを構築します。BorderInfo はセルごとまたはテーブル全体のボーダースタイルを設定します。MarginInfo はパディングを設定します。TextStyle、Font、Color、HAlign、および VAlign はテキストの表示を制御します。
ブックマークとナビゲーション
OutlineItemCollection は単一のブックマークを表します。タイトル、太字/斜体スタイル、リンク色、そして宛先(DestinationXYZ、DestinationFit、DestinationFitH)を設定します。入れ子になったブックマークは章/セクションの階層を構築します。NamedDestinations は名前でアクセス可能な再利用可能なページターゲットを提供します。
注釈
AnnotationCollection はページ上のすべての注釈を保持します。利用可能なタイプには TextAnnotation、FreeTextAnnotation、StampAnnotation、HighlightAnnotation、LinkAnnotation、RedactAnnotation、InkAnnotation、LineAnnotation、SquareAnnotation、および CircleAnnotation が含まれます。
画像処理
Image は埋め込み画像リソースを表します。ImageInfo は寸法とカラースペースを公開します。画像はページに直接追加したり、表セルに埋め込んだりできます。OptimizeImageOptions はファイルサイズ削減のための圧縮パラメータを提供します。
画像へのレンダリング
BmpDevice、PngDevice、JpegDevice、GifDevice、および TiffDevice は個々の PDF ページをラスター画像にレンダリングします。各デバイスは Resolution 値で構築され、出力を io.Writer に書き込む Render* メソッドを公開します。RenderOptions はレンダリングパラメータを制御します — 出力解像度(DPI)と背景色。
doc, _ := pdf.Open("report.pdf")
page, _ := doc.Page(1)
dev := pdf.NewPngDevice(pdf.Resolution{DPI: 150})
f, _ := os.Create("page1.png")
defer f.Close()
dev.Process(page, f)テキスト検索
SearchText はクエリ文字列を受け取り、SearchOptions を行い、TextMatch の結果スライスを返します。各 TextMatch は一致したテキスト、そのページ上のバウンディングボックス、および見つかったページインデックスを公開します。
doc, _ := pdf.Open("report.pdf")
matches, _ := doc.SearchText("invoice", pdf.SearchOptions{CaseInsensitive: true})
for _, m := range matches {
fmt.Printf("Found %q on page %d\n", m.Text, m.PageNumber)
}フォームフラット化
Document.Flatten はすべてのインタラクティブなフォームフィールドを静的コンテンツに変換します。フィールド値はページのグラフィックに埋め込まれ、フォームフィールドは削除され、編集できない PDF が生成されます。
doc, _ := pdf.Open("form_filled.pdf")
doc.Flatten()
doc.Save("form_flat.pdf")API Reference の概要
| 型 | Purpose |
|---|---|
Document | コア文書コンテナ — 開く、作成、保存、分割、結合 |
Page | 単一ページアクセス — サイズ、注釈、コンテンツ |
Form | AcroForm コンテナ — フィールド列挙とアクセス |
Table | グリッドレイアウト要素 |
EncryptionOptions | パスワードとアルゴリズムの設定 |
Permissions | 操作ごとのアクセス制御フラグ |
OutlineItemCollection | ブックマークツリーノード |
AnnotationCollection | ページ注釈コンテナ |
Metadata | Info dictionary の読み取り/書き込み |
Image | 埋め込み画像リソース |
BmpDevice | PDF ページを BMP にレンダリング |
PngDevice | PDF ページを PNG にレンダリング |
JpegDevice | PDF ページを JPEG にレンダリング |
TiffDevice | PDF ページを TIFF にレンダリング |
GifDevice | PDF ページを GIF にレンダリング |
RenderOptions | レンダリングパラメータ — DPI と背景色 |
SearchOptions | テキスト検索設定 |
TextMatch | バウンディングボックス付き単一テキスト検索結果 |
LinearGradient | ベクトルシェイプの線形グラデーション塗り |
RadialGradient | ベクトルシェイプの放射状グラデーション塗り |