PDF ライブラリの機能

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単一ページアクセス — サイズ、注釈、コンテンツ
FormAcroForm コンテナ — フィールド列挙とアクセス
Tableグリッドレイアウト要素
EncryptionOptionsパスワードとアルゴリズムの設定
Permissions操作ごとのアクセス制御フラグ
OutlineItemCollectionブックマークツリーノード
AnnotationCollectionページ注釈コンテナ
MetadataInfo dictionary の読み取り/書き込み
Image埋め込み画像リソース
BmpDevicePDF ページを BMP にレンダリング
PngDevicePDF ページを PNG にレンダリング
JpegDevicePDF ページを JPEG にレンダリング
TiffDevicePDF ページを TIFF にレンダリング
GifDevicePDF ページを GIF にレンダリング
RenderOptionsレンダリングパラメータ — DPI と背景色
SearchOptionsテキスト検索設定
TextMatchバウンディングボックス付き単一テキスト検索結果
LinearGradientベクトルシェイプの線形グラデーション塗り
RadialGradientベクトルシェイプの放射状グラデーション塗り

参照

 日本語