PyMuPDF 1.23.0rc1 - en to ja translation catalogue (87 entries)

en: PyMuPDF is a high-performance Python library for data extraction, analysis, conversion & manipulation of PDF (and other) documents.
ja: PyMuPDF は、PDF （およびその他の）ドキュメントのデータ抽出、分析、変換、操作のための高性能な Python ライブラリです。

en: PDF Text Extraction, PDF Image Extraction, PDF Conversion, PDF Tables, PDF Splitting, PDF Creation, Pyodide, PyScript
ja: PDFテキスト抽出、PDFイメージ抽出、PDF変換、PDFテーブル、PDF分割、PDF作成, Pyodide, PyScript

en: Story
ja: Story (ストーリー)

en: New in v1.21.0
ja: バージョン1.21.0で新規追加

en: **Method / Attribute**
ja: **メソッド / 属性**

en: **Short Description**
ja: **簡単な説明**

en: "rewind" story output to its beginning
ja: ストーリーの出力を先頭に巻き戻す

en: compute story content to fit in provided rectangle
ja: 指定された長方形に収まるストーリーのコンテンツを計算

en: write the computed content to current page
ja: 計算されたコンテンツを現在のページに書き込む

en: callback function logging currently processed story content
ja: 現在処理中のストーリーコンテンツを記録するコールバック関数

en: the story's underlying :htmlTag:`body`
ja: ストーリーの基本となる :htmlTag:`body`

en: places and draws Story to a DocumentWriter
ja: ストーリーを :ref:`DocumentWriter` に配置して描画します

en: iterative layout of html content to a DocumentWriter
ja: HTMLコンテンツを :ref:`DocumentWriter` に反復的にレイアウトします

en: like `write()` but also creates PDF links
ja: `write()` と同様ですが、PDFリンクも作成します

en: like `write_stabilized()` but also creates PDF links
ja: `write_stabilized()` と同様ですが、PDFリンクも作成します

en: **Class API**
ja: **クラスAPI**

en: Create a **story**, optionally providing HTML and CSS source. The HTML is parsed, and held within the Story as a DOM (Document Object Model).
ja: **ストーリー** を作成します。オプションでHTMLとCSSのソースを提供できます。HTMLは解析され、ストーリー内でDOM（ドキュメントオブジェクトモデル）として保持されます。

en: This structure may be modified: content (text, images) may be added, copied, modified or removed by using methods of the :ref:`Xml` class.
ja: この構造は変更できます。テキスト、画像などのコンテンツは、:ref:`Xml` クラスのメソッドを使用して追加、コピー、変更、または削除できます。

en: When finished, the **story** can be written to any device; in typical usage the device may be provided by a :ref:`DocumentWriter` to make new pages.
ja: 完了したら、**ストーリー** を任意のデバイスに書き込むことができます。通常の使用法では、デバイスは新しいページを生成するために :ref:`DocumentWriter` によって提供されます。

en: Here are some general remarks:
ja: 以下は一般的な注意事項です：

en: The :ref:`Story` constructor parses and validates the provided HTML to create the DOM.
ja: :ref:`Story` コンストラクタは提供されたHTMLを解析し、検証してDOMを作成します。

en: PyMuPDF provides a number of ways to manipulate the HTML source by providing access to the *nodes* of the underlying DOM. Documents can be completely built from ground up programmatically, or the existing DOM can be modified pretty arbitrarily. For details of this interface, please see the :ref:`Xml` class.
ja: PyMuPDFは、基本的なDOMのノードへのアクセスを提供することでHTMLソースを操作する方法をいくつか提供しています。文書は完全にプログラム的に構築することも、既存のDOMをかなり任意に変更することもできます。このインターフェースの詳細については、:ref:`Xml` クラスをご覧ください。

en: If no (or no more) changes to the DOM are required, the story is ready to be laid out and to be fed to a series of devices (typically devices provided by a :ref:`DocumentWriter` to produce new pages).
ja: DOMへの変更が必要ない（またはもう必要ない）場合、ストーリーはレイアウトが可能であり、新しいページを生成するために通常は :ref:`DocumentWriter` によって提供されるデバイスに供給する準備ができています。

en: The next step is to place the story and write it out. This can either be done directly, by looping around calling `place()` and `draw()`, or alternatively, the looping can handled for you using the `write()` or `write_stabilised()` methods. Which method you choose is largely a matter of taste.
ja: 次のステップは、ストーリーを配置して書き出すことです。これは、直接行うこともできます（`place()` と `draw()` を呼び出すことでループ処理することで）、または代替として `write()` または `write_stabilised()` メソッドを使用しても、ループ処理を自動化できます。どの方法を選択するかは主に好みの問題です。

en: To work in the first of these styles, the following loop should be used:
ja: 最初のスタイルで作業するには、次のループを使用する必要があります：

en: Obtain a suitable device to write to; typically by requesting a new, empty page from a :ref:`DocumentWriter`.
ja: 適切なデバイスを取得します。通常、:ref:`DocumentWriter` から新しい空のページを要求することで取得します。

en: Determine one or more rectangles on the page, that should receive **story** data. Note that not every page needs to have the same set of rectangles.
ja: ページ上に **ストーリー** データを受け取る必要がある1つまたは複数の長方形を決定します。すべてのページが同じ長方形セットを持つ必要はないことに注意してください。

en: Pass each rectangle to the **story** to place it, learning what part of that rectangle has been filled, and whether there is more story data that did not fit. This step can be repeated several times with adjusted rectangles until the caller is happy with the results.
ja: 各長方形を **ストーリー** に渡して配置し、その長方形のどの部分が埋まったか、また収まらなかったストーリーデータがあるかを学びます。このステップは、調整された長方形で何度も繰り返すことができ、呼び出し元が結果に満足するまで続けることができます。

en: Optionally, at this point, we can request details of where interesting items have been placed, by calling the `element_positions()` method. Items are deemed to be interesting if their integer `heading` attribute is a non-zero (corresponding to HTML tags :htmlTag:`h1` - :htmlTag:`h6`), if their `id` attribute is not `None` (corresponding to HTML tag :htmlTag:`id`), or if their `href` attribute is not `None` (responding to HTML tag :htmlTag:`href`). This can conveniently be used for automatic generation of a Table of Contents, an index of images or the like.
ja: 任意で、この段階で `element_positions()` メソッドを呼び出して、興味深いアイテムが配置された場所の詳細をリクエストすることができます。アイテムは、整数の `heading` 属性がゼロでない場合（:htmlTag:`h1` - :htmlTag:`h6`）、id属性がNoneでない場合（:htmlTag:`id` に対応）、またはhref属性がNoneでない場合（:htmlTag:`href` に対応）に興味深いと見なされます。これは、目次、画像の索引などの自動生成に便利に使用できます。

en: Next, draw that rectangle out to the device with the `draw()` method.
ja: 次に、`draw()` メソッドを使用してその長方形をデバイスに描画します。

en: If the most recent call to `place()` indicated that all the story data had fitted, stop now.
ja: 最も最近の `place()` の呼び出しが、すべてのストーリーデータが収まったことを示した場合、ここで停止します。

en: Otherwise, we can loop back. If there are more rectangles to be placed on the current device (page), we jump back to step 3 - if not, we jump back to step 1 to get a new device.
ja: それ以外の場合、ループを戻すことができます。現在のデバイス（ページ）に配置するためにさらに長方形がある場合は、ステップ3に戻ります。長方形がない場合は、新しいデバイスを取得するためにステップ1に戻ります。

en: Alternatively, in the case where you are using a :ref:`DocumentWriter`, the `write()` or `write_stabilized()` methods can be used. These handle all the looping for you, in exchange for being provided with callbacks that control the behaviour (notably a callback that enumerates the rectangles/pages to use).
ja: 代わりに、:ref:`DocumentWriter` を使用している場合、`write()` または `write_stabilized()` メソッドを使用できます。これらは、動作を制御するコールバックが提供される代わりに、すべてのループ処理を処理します（特に使用する長方形/ページを列挙するコールバックが含まれます）。

en: Which part of the **story** will land on which rectangle / which page, is fully under control of the :ref:`Story` object and cannot be predicted.
ja: **ストーリー** オブジェクトがどの部分がどの長方形/ページに配置されるかは、完全に :ref:`Story` オブジェクトの制御下にあり、予測することはできません。

en: Images may be part of a **story**. They will be placed together with any surrounding text.
ja: 画像は **ストーリー** の一部となる可能性があります。画像は周囲のテキストと一緒に配置されます。

en: Multiple stories may - independently from each other - write to the same page. For example, one may have separate stories for page header, page footer, regular text, comment boxes, etc.
ja: 複数のストーリーは、互いに独立して同じページに書き込むことができます。たとえば、ページヘッダー、ページフッター、通常のテキスト、コメントボックスなどの異なるストーリーを持つことができます。

en: Parameters
ja: パラメーター:

en: HTML source code. If omitted, a basic minimum is generated (see below). If provided, not a complete HTML document is needed. The in-built source parser will forgive (many / most) HTML syntax errors and also accepts HTML fragments like `"<b>Hello, <i>World!</i></b>"`.
ja: HTMLソースコード。省略した場合、基本的な最小限のHTMLが生成されます（以下参照）。指定した場合、完全なHTML文書は必要ありません。組み込みのソースパーサは（多くの）HTML構文エラーを許容し、また `"<b>Hello, <i>World!</i></b>"` のようなHTMLフラグメントも受け入れます。

en: CSS source code. If provided, must contain valid CSS specifications.
ja: CSSソースコード。指定する場合、有効なCSS仕様を含む必要があります。

en: the default text font size.
ja: デフォルトのテキストフォントサイズ。

en: an :ref:`Archive` from which to load resources for rendering. Currently supported resource types are images and text fonts. If omitted, the story will not try to look up any such data and may thus produce incomplete output.
ja: レンダリングのためのリソースをロードするための :ref:`Archive` 。現在サポートされているリソースタイプは画像とテキストフォントです。省略した場合、ストーリーはそのようなデータを検索しようとはせず、不完全な出力を生成する可能性があります。

en: Instead of an actual archive, valid arguments for **creating** an :ref:`Archive` can also be provided -- in which case an archive will temporarily be constructed. So, instead of `story = fitz.Story(archive=fitz.Archive("myfolder"))`, one can also shorter write `story = fitz.Story(archive="myfolder")`.
ja: アーカイブの代わりに、:ref:`Archive` を一時的に **構築する** ための有効な引数も提供できます。したがって、`story = fitz.Story(archive=fitz.Archive("myfolder"))` の代わりに、`story = fitz.Story(archive="myfolder")` と短縮して記述することもできます。

en: Calculate that part of the story's content, that will fit in the provided rectangle. The method maintains a pointer which part of the story's content has already been written and upon the next invocation resumes from that pointer's position.
ja: ストーリーのコンテンツのうち、指定された長方形に収まる部分を計算します。このメソッドは、ストーリーのコンテンツのどの部分が既に書き込まれたかを示すポインタを維持し、次回の呼び出し時にそのポインタの位置から再開します。

en: layout the current part of the content to fit into this rectangle. This must be a sub-rectangle of the page's :ref:`MediaBox<Glossary_MediaBox>`.
ja: 現在のコンテンツをこの長方形に収めるためのレイアウト。これはページの :ref:`MediaBox<Glossary_MediaBox>` のサブ長方形でなければなりません。

en: Return type
ja: 戻り値の型:

en: Returns
ja: 戻り値:

en: a bool (int) `more` and a rectangle `filled`. If `more == 0`, all content of the story has been written, otherwise more is waiting to be written to subsequent rectangles / pages. Rectangle `filled` is the part of `where` that has actually been filled.
ja: bool (int) `more` と、実際に `filled` 長方形を返します。`more == 0` の場合、ストーリーのすべてのコンテンツが書き込まれたことを意味し、それ以外の場合、`more` は次の長方形/ページに書き込むために待機しています。埋められた長方形は実際に埋められた `where` の一部です。

en: Write the content part prepared by :meth:`Story.place` to the page.
ja: :meth:`Story.place` によって準備されたコンテンツの一部をページに書き込みます。

en: the :ref:`Device` created by `dev = writer.begin_page(mediabox)`. The device knows how to call all MuPDF functions needed to write the content.
ja: `dev = writer.begin_page(mediabox)` で作成された :ref:`Device`。このデバイスは、コンテンツを書き込むために必要なすべてのMuPDF関数を呼び出す方法を知っています。

en: a matrix for transforming content when writing to the page. An example may be writing rotated text. The default means no transformation (i.e. the :ref:`Identity` matrix).
ja: ページに書き込む際にコンテンツを変形させるための行列。テキストを回転させるなどの例が考えられます。デフォルトでは変換は行われず（つまり :ref:`Identity` 行列）、コンテンツはそのまま書き込まれます。

en: Let the Story provide positioning information about certain HTML elements once their place on the current page has been computed - i.e. invoke this method **directly after** :meth:`Story.place`.
ja: ストーリーが現在のページ上で特定のHTML要素の配置情報を提供するようにします。つまり、:meth:`Story.place` の **直後に** このメソッドを呼び出します。

en: *Story* will pass position information to *function*. This information can for example be used to generate a Table of Contents.
ja: *Story* は位置情報を *関数* に渡します。この情報は、目次の生成などに便利に使用できます。

en: a Python function accepting an :class:`ElementPosition` object. It will be invoked by the Story object to process positioning information. The function **must** be a callable accepting exactly one argument.
ja: :class:`ElementPosition` オブジェクトを受け入れるPython関数。この関数は、位置情報を処理するためにStoryオブジェクトによって呼び出されます。**関数** は正確に1つの引数を受け入れるcallableである必要があります。

en: an optional dictionary with any **additional** information that should be added to the :class:`ElementPosition` instance passed to `function`. Like for example the current output page number. Every key in this dictionary must be a string that conforms to the rules for a valid Python identifier. The complete set of information is explained below.
ja: `function` に渡される :class:`ElementPosition` インスタンスに **追加** 情報を追加するためのオプションの辞書。たとえば、現在の出力ページ番号などが含まれることがあります。この辞書のすべてのキーは、有効なPython識別子の規則に従う文字列である必要があります。情報の完全なセットは以下で説明されています。

en: Rewind the story's document to the beginning for starting over its output.
ja: ストーリーのドキュメントを最初に戻して、出力を再開します。

en: The :htmlTag:`body` part of the story's DOM. This attribute contains the :ref:`Xml` node of :htmlTag:`body`. All relevant content for PDF production is contained between "<body>" and "</body>".
ja: ストーリーのDOMの :htmlTag:`body` 部分。この属性には :htmlTag:`body` の :ref:`Xml` ノードが含まれています。PDFの制作に関連するすべてのコンテンツは、「<body>」と「</body>」の間に含まれています。

en: Places and draws Story to a `DocumentWriter`. Avoids the need for calling code to implement a loop that calls `Story.place()` and `Story.draw()` etc, at the expense of having to provide at least the `rectfn()` callback.
ja: Storyを :ref:`DocumentWriter` に配置し、描画します。これにより、`Story.place()` および `Story.draw()` などを呼び出すループの実装が不要になりますが、`rectfn()` コールバックを少なくとも提供する必要があります。

en: a `DocumentWriter` or None.
ja: :ref:`DocumentWriter` または `None`。

en: a callable taking `(rect_num: int, filled: Rect)` and returning `(mediabox, rect, ctm)`:
ja: `(rect_num: int, filled: Rect)` を取り、`(mediabox, rect, ctm)` を返すcallable：

en: An `ElementPosition` with an extra `.page_num` member.
ja: `.page_num` メンバーを持つ `ElementPosition`。

en: Typically called multiple times as we generate elements that are headings or have an id.
ja: 通常、見出しやIDを持つ要素を生成する際に複数回呼び出されます。

en: None, or a callable taking `(page_num, mediabox, dev, after)`; called at start (`after=0`) and end (`after=1`) of each page.
ja: `None` または `(page_num, mediabox, dev, after)` を取り、各ページの開始(`after=0`)および終了（`after=1`）時に呼び出されます。

en: Static method that does iterative layout of html content to a `DocumentWriter`.
ja: htmlコンテンツを :ref:`DocumentWriter` に対して反復的にレイアウトするための静的メソッド。

en: For example this allows one to add a table of contents section while ensuring that page numbers are patched up until stable.
ja: これにより、ページ番号が安定するまで目次セクションを追加したりすることができます。

en: Repeatedly creates a new `Story` from `(contentfn(), user_css, em, archive)` and lays it out with internal call to `Story.write()`; uses a None writer and extracts the list of `ElementPosition`'s which is passed to the next call of `contentfn()`.
ja: `(contentfn()、user_css、em、archive)` から新しい `Story` を繰り返し作成し、`Story.write()` への内部呼び出しでそれをレイアウトします。 `None` のライターを使用し、`ElementPosition` のリストを次回の `contentfn()` 呼び出しに渡します。

en: When the html from `contentfn()` becomes unchanged, we do a final iteration using `writer`.
ja: `contentfn()` からのhtmlが変更されなくなると、`writer` を使用して最終的な反復処理を行います。

en: A `DocumentWriter`.
ja: :ref:`DocumentWriter`。

en: A function taking a list of `ElementPositions` and returning a string containing html. The returned html can depend on the list of positions, for example with a table of contents near the start.
ja: `ElementPositions` のリストを取り、htmlを含む文字列を返す関数。返されるhtmlは、位置のリストに依存する場合があります。たとえば、最初の近くに目次がある場合です。

en: None, or a callable taking `(page_num, medibox, dev, after)`; called at start (`after=0`) and end (`after=1`) of each page.
ja: `None` または `(page_num、medibox、dev、after)` を取り、各ページの開始（`after=0`）および終了（`after=1`）時に呼び出されます。

en: If true, we add unique ids to all header tags that don't already have an id. This can help automatic generation of tables of contents.
ja: Trueの場合、idを持たないすべての見出しタグに一意のidを追加します。これは目次の自動生成に役立ちます

en: Similar to `write()` except that we don't have a `writer` arg and we return a PDF `Document` in which links have been created for each internal html link.
ja: `write()` に類似していますが、`writer` 引数がなく、内部のHTMLリンクごとにリンクが作成されたPDF `Document` が返されます。

en: Similar to `write_stabilized()` except that we don't have a `writer` arg and instead return a PDF `Document` in which links have been created for each internal html link.
ja: `write_stabilized()` に類似していますが、`writer` 引数がなく、代わりに各内部のHTMLリンクにリンクが作成されたPDF `Document` が返されます。

en: Element Positioning CallBack function
ja: 要素位置コールバック関数

en: The callback function can be used to log information about story output. The function's access to the information is read-only: it has no way to influence the story's output.
ja: コールバック関数は、ストーリーの出力に関する情報を記録するために使用できます。この関数は情報への読み取り専用アクセスを持ち、ストーリーの出力に影響を与える方法はありません。

en: A typical loop for executing a story with using this method would look like this::
ja: このメソッドを使用してストーリーを実行する典型的なループは次のようになります:

en: Attributes of the ElementPosition class
ja: ElementPosition クラスの属性

en: Exactly one parameter must be passed to the function provided by :meth:`Story.element_positions`. It is an object with the following attributes:
ja: :meth:`Story.element_positions` で提供される関数に渡すパラメータは、次の属性を持つオブジェクトである必要があります。

en: The parameter passed to the `recorder` function is an object with the following attributes:
ja: `recorder` 関数に渡されるパラメータは、次の属性を持つオブジェクトです。

en: `elpos.depth` (int) -- depth of this element in the box structure.
ja: `elpos.depth` （int）– ボックス構造内でのこの要素の深さ。

en: `elpos.heading` (int) -- the header level, 0 if no header, 1-6 for :htmlTag:`h1` - :htmlTag:`h6`.
ja: `elpos.heading` （int）– ヘッダーレベル、ヘッダーがない場合は0、 :htmlTag:`h1` - :htmlTag:`h6` に対して1-6。

en: `elpos.id` (str) -- value of the `id` attribute, or None if not defined.
ja: `elpos.id` （str）– `id` 属性の値、または未定義の場合は `None`。

en: `elpos.rect` (tuple) -- element position on page.
ja: `elpos.rect` （tuple）– ページ上の要素の位置。

en: `elpos.text` (str) -- immediate text of the element.
ja: `elpos.text` （str）– 要素の直接のテキスト。

en: `elpos.open_close` (int bit field) -- bit 0 set: opens element, bit 1 set: closes element. Relevant for elements that may contain other elements and thus may not immediately be closed after being created / opened.
ja: `elpos.open_close` （int ビットフィールド）– ビット0がセットされている場合、要素を開く。ビット1がセットされている場合、要素を閉じる。他の要素を含む可能性がある要素に対して、即座に作成/開始された後にすぐに閉じられない要素に関連します。

en: `elpos.rect_num` (int) -- count of rectangles filled by the story so far.
ja: `elpos.rect_num` （int）– これまでにストーリーで埋められた長方形の数。

en: `elpos.page_num` (int) -- page number; only present when using `fitz.Story.write*()` functions.
ja: `elpos.page_num` （int）– ページ番号。`fitz.Story.write*()` 関数を使用する場合にのみ存在します。

en: This documentation covers all versions up to |version|.
ja: このドキュメントは |version| までのすべてのバージョンを対象としています。
