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_LEFT、TEXT_ALIGN_CENTER、TEXT_ALIGN_RIGHT、
TEXT_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.diagnosticsはTableDiagnostics tupleです。罫線なし表ではem正規化したalignment
誤差、最小gutter、行間ばらつきを保持します。完全なベクタグリッドは1.0で、
これらtext専用metricはNoneです。TableFinder.strategyとTableFinder.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ではkindとfromが必須で、遷移先ごとのキーは任意です。
PageLabelSpecではstartpageが必須で、style、prefix、firstpagenumの
runtime既定値は変わりません。