コンテンツにスキップ

API 一覧

詳細な docstring はパッケージ内にあります(help(pylopdf.Document))。この ページは地図です。ページ番号は get_toc / set_toc(pymupdf 互換の 1 始まり)を 除きすべて 0 始まり。座標はすべて左上原点の表示空間です。

Document

pylopdf.Document(filename=None, stream=None, password=None, max_decompressed_size=None)pylopdf.open() は別名コンストラクタ。with 文に対応。

メンバ 用途
doc[i] / load_page(pno) / イテレーション Page ビュー(負数可。構造変更後は取得し直す)
page_count / len(doc) ページ数
needs_pass / is_encrypted / authenticate(pw) 暗号化状態と復号(pymupdf 互換の意味論)
metadata / set_metadata(dict) Info 辞書(UTF-16BE 対応)
get_page_text(pno, option) "text" / "words" / "blocks" / "dict"
to_markdown(pages=None) Markdown 変換(見出し・CJK 連結・強調・リスト)
render_page(...) / render_pages(..., workers=) / render_page_svg(...) PNG、順序保証の並列 PNG 群、SVG
set_fallback_font(font, kind=, index=) 非埋め込み CJK の代替フォント
select / delete_page(s) / insert_pdf / new_page / copy_page ページ操作
get_toc() / set_toc(toc) しおり(1 始まり)
get_page_labels() / set_page_labels(labels) ページラベル
get_form_fields() / set_form_field(name, value, fontfile=, fontbuffer=, fontindex=) ネイティブ外観付き AcroForm の一覧と記入
embfile_add / embfile_names / embfile_get / embfile_del 添付ファイル
get_pdfa_claim() XMP の PDF/A 宣言(読み取りであって検証ではない)
save(...) / tobytes(...) garbage= deflate= object_streams= user_pw= owner_pw= permissions=
close() with 文でも

Page

メンバ 用途
number / parent / get_label() 素性と表示ラベル
get_text(option) / search_for(needle) 抽出と検索(大文字小文字を区別しない)
find_tables(strategy="lines", clip=None) 完全なベクタ罫線と結合セル。"text"で罫線なし検出、clipで表示座標の領域を指定
to_markdown() 1 ページ分の Markdown
get_images() 描画された画像(bbox 付き。JPEG パススルー / PNG)
get_pixmap(scale=, dpi=, background=, clip=) / render(...) / render_svg() レンダリング。clip は表示座標
rotation / set_rotation(deg) 表示回転
mediabox / cropbox / rect / set_mediabox / set_cropbox ページボックス
insert_image(rect, filename= / stream=, keep_proportion=, overlay=) JPEG/PNG の描き込み
show_pdf_page(rect, src, pno=, keep_proportion=, overlay=) 別 PDF ページをベクタのまま重ねる
insert_text(point, text, fontsize=, fontname=, fontfile=, fontbuffer=, fontindex=, color=, overlay=) 標準 14 の WinAnsi、またはサブセット埋め込み OpenType の Unicode 印字
insert_textbox(rect, text, fontsize=, fontname=, fontfile=, fontbuffer=, fontindex=, align=, expandtabs=, lineheight=, overlay=) 標準 14 または埋め込み OpenType の実幅で UAX #14 折り返し。残り高さを返し、収まらなければ描画しない
insert_ocr_text_layer(words) 不可視 OCR テキスト層(searchable PDF 化)
replace_text(search, replacement, default_char=) 単純エンコーディングのテキスト置換
annots() / add_highlight_annot(...) / add_link_annot(rect, uri) 注釈

埋め込みフォントを使うinsert_textでは、すべての字形を含む単一フォントが必要です。 各行の字形処理は行いますが、フォントfallback、双方向paragraph layout、折り返しは 行いません。RTLの字形処理結果は正しく描画されますが、現時点の抽出順は論理順ではなく 視覚順です。

insert_textboxはリッチテキストエンジンではなく、明示改行、tab展開、CJKのUnicode 改行位置、長すぎる単語のgrapheme単位の緊急折り返しを扱います。整列には TEXT_ALIGN_LEFTTEXT_ALIGN_CENTERTEXT_ALIGN_RIGHTTEXT_ALIGN_JUSTIFYを使います。戻り値が負なら高さ不足で、ページ内容やフォント resourceは追加されません。

set_form_fieldはテキスト、コンボ/リスト選択、チェックボックス、ラジオボタンの 外観を生成します。WinAnsiはHelveticaで自動縮小され、UnicodeはOpenTypeの fontfileまたはfontbufferを指定するとサブセット埋め込みされます。 pylopdf[cjk]の導入時は、WinAnsi外の値にsansフォントを自動使用します。既存の 空でないボタン外観は保持し、不足する状態だけをベクタで生成します。他のWinAnsi フィールドに不足する外観も同時に補完し、記入可能な全widgetが自己完結したときだけ NeedAppearancesを解除します。リッチテキスト、comb配置、pushbutton action、 署名は生成しません。

Table.confidenceは0–1の決定的な順位付けheuristicで、校正された確率ではありません。 Table.diagnosticsTableDiagnostics tupleです。罫線なし表ではem正規化したalignment 誤差、最小gutter、行間ばらつきを保持します。完全なベクタグリッドは1.0で、 これらtext専用metricはNoneです。TableFinder.strategyTableFinder.clipには 使用した設定が残ります。

モジュールレベル

名前 用途
peek_metadata(path_or_stream, password=) 全体パース無しの高速メタデータ読み取り
Permissions 暗号化の許可フラグ(IntFlag)
Rect 矩形の NamedTuple(width / height 付き)
TextPage / TextBlock / TextLine / TextSpan get_text("dict") の TypedDict 階層
ImageInfo / AnnotationInfo / LinkInfo / FormFieldInfo page・form の辞書形式結果を表す TypedDict
PageLabelInfo / PageLabelSpec 正規化済みページラベル出力/setter入力の契約
DocumentMetadata / MetadataUpdate / MetadataProbe metadata出力/部分更新/高速probeの契約
WordEntry / BlockEntry / FormFieldType runtimeでimportできるtuple・literal型alias
TableFinder / Table / TableDiagnostics 所有権を持つ表の座標、セル文字列(結合継続位置はNone)、strategy、confidence根拠
PdfError / PasswordError / DocumentClosedError / EncryptedDocumentError / StalePageError 例外階層(ValueError 互換の基底)
Pixmap 不変のRGBA8画素: samples / width / height / stride / n / tobytes()。cp314tではread-only・zero-copyのmemoryview()にも対応
PylopdfWarning インタープリタ警告(フォント未解決・画像デコード失敗)

TypedDictは静的型付けだけに作用し、値は従来どおり通常のpymupdf形式の辞書です。 LinkInfoではkindfromが必須で、遷移先ごとのキーは任意です。 PageLabelSpecではstartpageが必須で、styleprefixfirstpagenumの runtime既定値は変わりません。