Skip to content

Document

Excel, PDF, and Word document read/write/convert.

8 modules

ModuleDescription
Excel読み取りExcelファイル(xlsx、xls)からデータを読み取り
Excel書き込みExcelファイル(xlsx)にデータを書き込み
PDFフォーム入力PDFフォームフィールドにデータを入力し、オプションで画像を挿入
PDF生成HTMLコンテンツまたはテキストからPDFファイルを生成
PDFパースPDFファイルからテキストとメタデータを抽出
PDF → WordPDFファイルをWordドキュメント(.docx)に変換
Wordドキュメント解析Wordドキュメント(.docx)からテキストとコンテンツを抽出
Word → PDFWordドキュメント(.docx)をPDFファイルに変換

Modules

Excel読み取り

excel.read

Excelファイル(xlsx、xls)からデータを読み取り

Parameters:

NameTypeRequiredDefaultDescription
pathstringYes-Path to the Excel file
sheetstringNo-Sheet name (default: first sheet)
header_rownumberNo1Row number for headers (1-based, 0 for no headers)
rangestringNo-Cell range to read (e.g., "A1:D10")
as_dictbooleanNoTrueReturn rows as dictionaries (using headers as keys)

Output:

FieldTypeDescription
dataarray抽出されたデータ行
headersarray抽出されたデータ行
row_countnumber抽出されたデータ行
sheet_namesarray列ヘッダー

Example: Read entire sheet

yaml
path: /tmp/data.xlsx
as_dict: true

Excel書き込み

excel.write

Excelファイル(xlsx)にデータを書き込み

Parameters:

NameTypeRequiredDefaultDescription
pathstringYes-Path to the Excel file
dataarrayYes-Data to write (array of arrays or array of objects)
headersarrayNo-Column headers (auto-detected from objects if not provided)
sheet_namestringNoSheet1Name of the worksheet
auto_widthbooleanNoTrueAutomatically adjust column widths

Output:

FieldTypeDescription
pathstring作成されたExcelファイルのパス
row_countnumber作成されたExcelファイルのパス
sizenumber作成されたExcelファイルのパス

Example: Write data to Excel

yaml
path: /tmp/output.xlsx
data: [{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}]

PDFフォーム入力

pdf.fill_form

PDFフォームフィールドにデータを入力し、オプションで画像を挿入

Parameters:

NameTypeRequiredDefaultDescription
templatestringYes-Path to the PDF template file
outputstringYes-Path for the output document
fieldsobjectNo{}Key-value pairs of form field names and values
imagesarrayNo[]List of images to insert with position info
flattenbooleanNoTrueFlatten form fields (make them non-editable)

Output:

FieldTypeDescription
output_pathstring入力済みPDFのパス
fields_fillednumber入力済みPDFのパス
images_insertednumber入力済みPDFのパス
file_size_bytesnumber挿入された画像の数

Example: Fill form with text fields

yaml
template: /templates/form.pdf
output: /output/filled.pdf
fields: {"name": "John Doe", "id_number": "A123456789", "date": "2024-01-01"}

Example: Fill form with photo

yaml
template: /templates/id_card.pdf
output: /output/id_card_filled.pdf
fields: {"name": "Jane Doe"}
images: [{"file": "/photos/jane.jpg", "page": 1, "x": 50, "y": 650, "width": 100, "height": 120}]

PDF生成

pdf.generate

HTMLコンテンツまたはテキストからPDFファイルを生成

Parameters:

NameTypeRequiredDefaultDescription
contentstringYes-HTML or text content to convert to PDF
output_pathstringYes-Path for the output document
titlestringNo-Document title (metadata)
authorstringNo-Document author (metadata)
page_sizeselect (A4, Letter, Legal, A3, A5)NoA4Page size format
orientationselect (portrait, landscape)NoportraitPage orientation
marginnumberNo20Page margin in millimeters
headerstringNo-Header text for each page
footerstringNo-Footer text for each page

Output:

FieldTypeDescription
output_pathstring生成されたPDFのパス
page_countnumber生成されたPDFのパス
file_size_bytesnumberPDFのページ数

Example: Generate from HTML

yaml
content: <h1>Report</h1><p>Content here</p>
output_path: /path/to/report.pdf
title: Monthly Report

PDFパース

pdf.parse

PDFファイルからテキストとメタデータを抽出

Parameters:

NameTypeRequiredDefaultDescription
pathstringYes-Path to the PDF file
pagesstringNoallPage range (e.g., "1-5", "1,3,5", or "all")
extract_imagesbooleanNoFalseExtract embedded images
extract_tablesbooleanNoFalseExtract tables as structured data

Output:

FieldTypeDescription
textstring抽出されたテキストコンテンツ
pagesarray抽出されたテキストコンテンツ
metadataobject抽出されたテキストコンテンツ
page_countnumberページごとのテキストコンテンツ

Example: Extract all text from PDF

yaml
path: /tmp/document.pdf
pages: all

PDF → Word

pdf.to_word

PDFファイルをWordドキュメント(.docx)に変換

Parameters:

NameTypeRequiredDefaultDescription
input_pathstringYes-Path to the input document
output_pathstringNo-Path for the output document
preserve_formattingbooleanNoTruePreserve basic formatting
pagesstringNoallPage range (e.g., "1-5", "1,3,5", or "all")

Output:

FieldTypeDescription
output_pathstring生成されたWordドキュメントのパス
page_countnumber生成されたWordドキュメントのパス
file_sizenumber変換されたページ数

Example: Convert entire PDF to Word

yaml
input_path: /tmp/document.pdf

Example: Convert specific pages

yaml
input_path: /tmp/document.pdf
output_path: /tmp/output.docx
pages: 1-5

Wordドキュメント解析

word.parse

Wordドキュメント(.docx)からテキストとコンテンツを抽出

Parameters:

NameTypeRequiredDefaultDescription
file_pathstringYes-Path to the Word document (.docx)
extract_tablesbooleanNoTrueExtract tables as structured data
extract_imagesbooleanNoFalseExtract embedded images
images_output_dirstringNo-Directory to save extracted images
preserve_formattingbooleanNoFalsePreserve basic formatting

Output:

FieldTypeDescription
textstringドキュメントの全テキストコンテンツ
paragraphsarrayドキュメントの全テキストコンテンツ
tablesarrayドキュメントの全テキストコンテンツ
imagesarray段落のリスト
metadataobject配列として抽出されたテーブル

Example: Extract text from Word

yaml
file_path: /path/to/document.docx

Example: Extract with tables and images

yaml
file_path: /path/to/document.docx
extract_tables: true
extract_images: true
images_output_dir: /path/to/images/

Word → PDF

word.to_pdf

Wordドキュメント(.docx)をPDFファイルに変換

Parameters:

NameTypeRequiredDefaultDescription
input_pathstringYes-Path to the input document
output_pathstringNo-Path for the output document
methodselect (auto, libreoffice, docx2pdf)NoautoMethod to use for conversion

Output:

FieldTypeDescription
output_pathstring生成されたPDFファイルのパス
file_sizenumber生成されたPDFファイルのパス
method_usedstring出力ファイルのサイズ(バイト)

Example: Convert Word to PDF

yaml
input_path: /tmp/document.docx

Example: Convert with specific output path

yaml
input_path: /tmp/document.docx
output_path: /tmp/output.pdf

Released under the Apache 2.0 License.