PyMuPDF 1.23.0rc1 - en to ja translation catalogue (97 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: Stories
ja: ストーリーズ

en: This document showcases some typical use cases for :ref:`Stories<WorkingWithStories>`.
ja: このドキュメントは、 :ref:`ストーリーズ<WorkingWithStories>` の典型的な使用例を示しています。

en: As mentioned in the :ref:`tutorial<WorkingWithStories>`, stories may be created using up to three input sources: HTML, CSS and Archives -- all of which are optional and which, respectively, can be provided programmatically.
ja: :ref:`チュートリアル<WorkingWithStories>` で説明されているように、ストーリーズは最大3つの入力ソース（HTML、CSS、アーカイブ）を使用して作成できます。これらのソースはすべてオプションであり、それぞれプログラムで提供することができます。

en: The following examples will showcase combinations for using these inputs.
ja: 以下の例では、これらの入力を使用した組み合わせを示します。

en: Many of these recipe's source code are included as examples in the `docs` folder.
ja: これらのレシピのソースコードの多くは、ドキュメントフォルダ内の例として含まれています。

en: How to Add a Line of Text with Some Formatting
ja: テキストの行をいくつかの書式で追加する方法

en: Here is the inevitable "Hello World" example. We will show two variants:
ja: 以下は、避けられない「Hello World」の例です。2つのバリアントを示します：

en: Create using existing HTML source [#f1]_, that may come from anywhere.
ja: どこからでも取得できる既存のHTMLソース [#f1]_ を使用して作成します。

en: Create using the Python API.
ja: Python APIを使用して作成します。

en: Variant using an existing HTML source [#f1]_ -- which in this case is defined as a constant in the script::
ja: 既存のHTMLソース [#f1]_ を使用したバリアント – この場合、スクリプト内で定数として定義されています::

en: The above effect (sans-serif and blue text) could have been achieved by using a separate CSS source like so::
ja: 上記の効果（サンセリフ体および青いテキスト）は、次のように別のCSSソースを使用することで達成できます::

en: The Python API variant -- everything is created programmatically::
ja: Python APIのバリアント - すべてがプログラムで作成されます::

en: Both variants will produce the same output PDF.
ja: どちらのバリアントも同じ出力のPDFを生成します。

en: How to use Images
ja: 画像の使用方法

en: Images can be referenced in the provided HTML source, or the reference to a desired image can also be stored via the Python API. In any case, this requires using an :ref:`Archive`, which refers to the place where the image can be found.
ja: 画像は提供されたHTMLソース内で参照することができます。また、Python APIを介して必要な画像への参照も保存することができます。どちらの場合も、画像が見つかる場所を指す :ref:`Archive` を使用する必要があります。

en: Images with the binary content embedded in the HTML source are **not supported** by stories.
ja: HTMLソースにバイナリコンテンツが埋め込まれた画像は、ストーリーズではサポートされていません。

en: We extend our "Hello World" example from above and display an image of our planet right after the text. Assuming the image has the name "world.jpg" and is present in the script's folder, then this is the modified version of the above Python API variant::
ja: 前述の「Hello World」の例を拡張し、テキストの直後に地球の画像を表示します。画像の名前が「world.jpg」であり、スクリプトのフォルダに存在すると仮定すると、次に示すようにPython APIバリアントを修正したものとなります::

en: How to Read External HTML and CSS for a Story
ja: 外部のHTMLとCSSをストーリーに読み込む方法

en: These cases are fairly straightforward.
ja: これらのケースはかなり直接的です。

en: As a general recommendation, HTML and CSS sources should be **read as binary files** and decoded before using them in a story. The Python `pathlib.Path` provides convenient ways to do this::
ja: 一般的な推奨事項として、HTMLとCSSのソースはバイナリファイルとして読み込まれ、ストーリーで使用する前にデコードされるべきです。Pythonの `pathlib.Path` は、これを便利に行うための方法を提供しています。::

en: How to Output Database Content with Story Templates
ja: データベースの内容をストーリーテンプレートで出力する方法

en: This script demonstrates how to report SQL database content using an **HTML template**.
ja: このスクリプトは**HTMLテンプレート**を使用してSQLデータベースの内容を報告する方法を示しています。

en: The example SQL database contains two tables:
ja: この例のSQLデータベースには2つのテーブルが含まれています：

en: Table "films" contains one row per film with the fields **"title"**, **"director"** and (release) **"year"**.
ja: テーブル「films」には、フィールド「title」、「director」、および（公開）「year」を持つ1つの映画ごとの行が含まれています。

en: Table "actors" contains one row per actor and film title (fields (actor) **"name"** and (film) **"title"**).
ja: テーブル「actors」には、1つの行に1人の俳優と映画のタイトルが含まれています（フィールド（actor）「name」と（film）「title」）。

en: The story DOM consists of a template for one film, which reports film data together with a list of casted actors.
ja: ストーリーDOMは、映画の1つのテンプレートから成り、映画のデータと出演俳優のリストを報告します。

en: **Files:**
ja: **ファイル：**

en: How to Integrate with Existing PDFs
ja: 既存のPDFと統合する方法

en: Because a :ref:`DocumentWriter` can only write to a new file, stories cannot be placed on existing pages. This script demonstrates a circumvention of this restriction.
ja: :ref:`DocumentWriter` は新しいファイルにのみ書き込むことができるため、ストーリーは既存のページに配置することはできません。このスクリプトは、この制限を回避する方法を示しています。

en: The basic idea is letting :ref:`DocumentWriter` output to a PDF in memory. Once the story has finished, we re-open this memory PDF and put its pages to desired locations on **existing** pages via method :meth:`Page.show_pdf_page`.
ja: 基本的な考え方は、 :ref:`DocumentWriter`  がメモリ内のPDFに出力することです。ストーリーが完了したら、このメモリPDFを再度開き、メソッド :meth:`Page.show_pdf_page` を使用してそのページを既存のページに必要な位置に配置します。

en: How to Make Multi-Columned Layouts and Access Fonts from Package `pymupdf-fonts`_
ja: 多段組のレイアウトを作成し、パッケージ `pymupdf-fonts`_ からフォントにアクセスする方法

en: This script outputs an article (taken from Wikipedia) that contains text and multiple images and uses a 2-column page layout.
ja: このスクリプトは、テキストと複数の画像を含む記事（Wikipediaから取得）を出力し、2列のページレイアウトを使用します。

en: In addition, two "Ubuntu" font families from package `pymupdf-fonts`_ are used instead of defaulting to Base-14 fonts.
ja: さらに、デフォルトではBase-14フォントにデフォルトでなく、パッケージpymupdf-fontsから2つの「Ubuntu」フォントファミリが使用されています。

en: Yet another feature used here is that all data -- the images and the article HTML -- are jointly stored in a ZIP file.
ja: ここで使用される別の機能は、すべてのデータ – 画像と記事のHTML – が共にZIPファイルに格納されていることです。

en: How to Make a Layout which Wraps Around a Predefined "no go area" Layout
ja: あらかじめ定義された「禁止エリア」レイアウトに囲まれたレイアウトの作成方法

en: This is a demo script using PyMuPDF's Story class to output text as a PDF with a two-column page layout.
ja: これは、PyMuPDFのStoryクラスを使用してテキストを2列のページレイアウトでPDFとして出力するデモスクリプトです。

en: The script demonstrates the following features:
ja: このスクリプトは、以下の機能を示しています：

en: Layout text around images of an existing ("target") PDF.
ja: 既存の（「ターゲット」）PDFの画像の周りにテキストをレイアウトします。

en: Based on a few global parameters, areas on each page are identified, that can be used to receive text layouted by a Story.
ja: 各ページの特定の領域が、Storyによってレイアウトされたテキストを受け入れるために使用できるように、いくつかのグローバルパラメータに基づいて識別されます。

en: These global parameters are not stored anywhere in the target PDF and must therefore be provided in some way:
ja: これらのグローバルパラメータは、ターゲットPDF内のどこにも保存されず、したがってどのような方法で提供される必要があります：

en: The width of the border(s) on each page.
ja: 各ページのボーダーの幅。

en: The fontsize to use for text. This value determines whether the provided text will fit in the empty spaces of the (fixed) pages of target PDF. It cannot be predicted in any way. The script ends with an exception if target PDF has not enough pages, and prints a warning message if not all pages receive at least some text. In both cases, the FONTSIZE value can be changed (a float value).
ja: テキストに使用するフォントサイズ。この値は、提供されたテキストがターゲットPDFの（固定された）ページの空白スペースに収まるかどうかを決定します。これはどのように予測することもできません。ターゲットPDFに十分なページがない場合、スクリプトは例外をスローし、すべてのページが少なくとも一部のテキストを受け取らない場合は警告メッセージが表示されます。どちらの場合も、FONTSIZEの値を変更できます（浮動小数点数）。

en: Use of a 2-column page layout for the text.
ja: テキストのための2列のページレイアウトの使用。

en: The layout creates a temporary (memory) PDF. Its produced page content (the text) is used to overlay the corresponding target page. If text requires more pages than are available in target PDF, an exception is raised. If not all target pages receive at least some text, a warning is printed.
ja: レイアウトは一時的な（メモリ）PDFを作成します。その生成されたページのコンテンツ（テキスト）は、対応するターゲットページに重ねて配置されます。テキストがターゲットPDFの利用可能なページよりも多くのページを必要とする場合、例外が発生します。すべてのターゲットページが少なくとも一部のテキストを受け取らない場合、警告が表示されます。

en: The script reads "image-no-go.pdf" in its own folder. This is the "target" PDF. It contains 2 pages with each 2 images (from the original article), which are positioned at places that create a broad overall test coverage. Otherwise the pages are empty.
ja: スクリプトは、自分自身のフォルダ内の「image-no-go.pdf」を読み込みます。これが「ターゲット」PDFです。オリジナルの記事から2つの画像（各2ページ）を含み、それらは広範なテストカバレッジを作成する場所に配置されています。それ以外の場合、ページは空です。

en: The script produces "quickfox-image-no-go.pdf" which contains the original pages and image positions, but with the original article text laid out around them.
ja: スクリプトは「quickfox-image-no-go.pdf」を生成し、元のページと画像の位置を含みますが、元の記事のテキストがその周りにレイアウトされます。

en: How to Output an HTML Table
ja: HTMLテーブルの出力方法

en: Outputting HTML tables is supported as follows:
ja: HTMLテーブルの出力は次のようにサポートされています：

en: Flat table layouts are supported ("rows x columns"), no support of the "colspan" / "rowspan" attributes.
ja: フラットなテーブルレイアウト（「行 × 列」）がサポートされており、「colspan」/「rowspan」属性はサポートされていません。

en: Table header tag :htmlTag:`th` supports attribute "scope" with values "row" or "col". Applicable text will be bold by default.
ja: テーブルヘッダータグ :htmlTag:`th` は、属性 “scope” をサポートし、値として “row” または “col” を持ちます。適用されるテキストはデフォルトで太字になります。

en: Column widths are computed automatically based on column content. They cannot be directly set.
ja: 列の幅は、列のコンテンツに基づいて自動的に計算されます。直接設定することはできません。

en: Table **cells may contain images** which will be considered in the column width calculation magic.
ja: テーブルのセルには画像を含めることができ、これは列幅計算の際に考慮されます。

en: Row heights are computed automatically based on row content - leading to multi-line rows where needed.
ja: 行の高さは、行のコンテンツに基づいて自動的に計算され、必要に応じて複数行の行が生成されます。

en: The potentially multiple lines of a table row will always be kept together on one page (respectively "where" rectangle) and not be splitted.
ja: テーブルの行の潜在的に複数行は、常に1つのページ（または “where” 矩形）にまとめて表示され、分割されることはありません。

en: Table header rows are only **shown on the first page / "where" rectangle.**
ja: テーブルのヘッダー行は、最初のページ / "where" 矩形のみに表示されます。

en: The "style" attribute is ignored when given directly in HTML table elements. Styling for a table and its elements must happen separately, in CSS source or within the :htmlTag:`style` tag.
ja: 直接HTMLテーブル要素に  "style"   属性が与えられた場合、無視されます。テーブルとその要素のスタイリングは、CSSソース内または :htmlTag:`style`  タグ内で別途行う必要があります。

en: Styling for :htmlTag:`tr` elements is not supported and ignored. Therefore, a table-wide grid or alternating row background colors are not supported. One of the following example scripts however shows an easy way to deal with this limitation.
ja: :htmlTag:`tr` 要素のスタイリングはサポートされておらず、無視されます。したがって、テーブル全体のグリッドや交互の行の背景色はサポートされていません。ただし、以下の例スクリプトのいずれかは、この制限に対処する簡単な方法を示しています。

en: `docs/samples/table01.py` This script reflects basic features.
ja: `docs/samples/table01.py` このスクリプトは基本的な機能を反映しています。

en: `docs/samples/national-capitals.py` Advanced script extending table output options using simple additional code:
ja: `docs/samples/national-capitals.py` シンプルな追加コードを使用してテーブル出力オプションを拡張する高度なスクリプト:

en: Multi-page output simulating **repeating header rows**
ja: 繰り返しヘッダー行をシミュレートするマルチページ出力

en: Alternating table row background colors
ja: 交互のテーブル行の背景色

en: Table rows and columns delimited by gridlines
ja: グリッドラインで区切られたテーブル行と列

en: Table rows dynamically generated / filled with data from an SQL database
ja: SQLデータベースからデータを動的に生成/埋めるテーブル行

en: How to Create a Simple Grid Layout
ja: シンプルなグリッドレイアウトの作成方法

en: By creating a sequence of :ref:`Story` objects within a grid created via the :ref:`make_table<Functions_make_table>` function a developer can create grid layouts as required.
ja: :ref:`make_table<Functions_make_table>` 関数を使用して作成されたグリッド内で :ref:`Story` オブジェクトのシーケンスを作成することで、開発者は必要なグリッドレイアウトを作成できます。

en: How to Generate a Table of Contents
ja: 目次の生成方法

en: This script lists the source code of all Python scripts that live in the script's directory.
ja: このスクリプトは、スクリプトのディレクトリに存在するすべてのPythonスクリプトのソースコードをリスト表示します。

en: It features the following capabilities:
ja: 次の機能が備わっています：

en: Automatic generation of a Table of Contents (TOC) on separately numbered pages at the start of the document - using a specialized :ref:`Story`.
ja: 専用の :ref:`Story` を使用して、文書の冒頭に独立したページごとに自動的に目次（TOC）を生成します。

en: Use of 3 separate :ref:`Story` objects per page: header story, footer story and the story for printing the Python sources.
ja: ページごとに3つの別個の :ref:`Story` オブジェクトを使用：ヘッダーストーリー、フッターストーリー、Pythonソースの印刷用ストーリー。

en: The page **footer is automatically changed** to show the name of the current Python file.
ja: ページフッターは自動的に変更され、現在のPythonファイル名が表示されます。

en: Use of :meth:`Story.element_positions` to collect the data for the TOC and for the dynamic adjustment of page footers. This is an example of a **bidirectional communication** between the story output process and the script.
ja: :meth:`Story.element_positions`  の使用により、TOCのデータの収集とページフッターの動的調整に使用されます。これは、ストーリー出力プロセスとスクリプト間の双方向コミュニケーションの例です。

en: The main PDF with the Python sources is being written to memory by its :ref:`DocumentWriter`. Another :ref:`Story` / :ref:`DocumentWriter` pair is then used to create a (memory) PDF for the TOC pages. Finally, both these PDFs are joined and the result stored to disk.
ja: 主なPythonソースをその :ref:`DocumentWriter` によってメモリに書き込みます。その後、もう一つの :ref:`Story` / :ref:`DocumentWriter` のペアを使用して（メモリ）PDFをTOCページのために作成します。最後に、これらのPDFは結合されて結果がディスクに保存されます。

en: How to Display a List from JSON Data
ja: JSONデータからリストを表示する方法

en: This example takes some JSON data input which it uses to populate a :ref:`Story`. It also contains some visual text formatting and shows how to add links.
ja: この例では、JSONデータ入力を使用して :ref:`Story` を生成し、いくつかの視覚的なテキスト書式設定を行い、リンクを追加する方法を示しています。

en: Using the Alternative :meth:`Story.write*()` functions
ja: :meth:`Story.write*()` 関数の使用方法

en: The :meth:`Story.write*()` functions provide a different way to use the :ref:`Story` functionality, removing the need for calling code to implement a loop that calls :meth:`Story.place()` and :meth:`Story.draw()` etc, at the expense of having to provide at least a `rectfn()` callback.
ja: :meth:`Story.write*()` 関数は、 :ref:`Story`  機能を異なる方法で使用するための方法を提供します。これにより、呼び出しコードが  :meth:`Story.place()`  や :meth:`Story.draw()`  などを呼び出すループを実装する必要がなくなりますが、少なくとも  `rectfn()`  コールバックを提供する必要があります。

en: How to do Basic Layout with :meth:`Story.write()`
ja: :meth:`Story.write()` を使用した基本的なレイアウトの方法

en: This script lays out multiple copies of its own source code, into four rectangles per page.
ja: このスクリプトは、自身のソースコードの複数のコピーを1ページあたり4つの四角形にレイアウトします。

en: How to do Iterative Layout for a Table of Contents with :meth:`Story.write_stabilized()`
ja: :meth:`Story.write_stabilized()` を使用した目次付きの繰り返しレイアウトの方法

en: This script creates html content dynamically, adding a contents section based on :ref:`ElementPosition` items that have non-zero `.heading` values.
ja: このスクリプトは、要素の位置情報（:ref:`ElementPosition` アイテム）を基にコンテンツを動的に作成し、`.heading`  値がゼロでない要素に基づいて目次セクションを追加します。

en: The contents section is at the start of the document, so modifications to the contents can change page numbers in the rest of the document, which in turn can cause page numbers in the contents section to be incorrect.
ja: 目次セクションは文書の先頭に配置されているため、目次への変更によって文書の他の部分のページ番号が変更され、それに伴い目次セクションのページ番号が正しくなくなる可能性があります。

en: So the script uses :meth:`Story.write_stabilized()` to repeatedly lay things out until things are stable.
ja: したがって、スクリプトは  :meth:`Story.write_stabilized()` を使用して、安定するまで繰り返しレイアウトを行います。

en: How to do Iterative Layout and Create PDF Links with :meth:`Story.write_stabilized_links()`
ja: 繰り返しレイアウトと PDF リンクの作成方法：:meth:`Story.write_stabilized_links()` の使用

en: This script is similar to the one described in "How to use :meth:`Story.write_stabilized()`" above, except that the generated PDF also contains links that correspond to the internal links in the original html.
ja: このスクリプトは、「:meth:`Story.write_stabilized()` の使用方法」で説明されているものと類似していますが、生成される PDF には、元の HTML 内の内部リンクに対応するリンクも含まれています。

en: This is done by using :meth:`Story.write_stabilized_links()`; this is slightly different from :meth:`Story.write_stabilized()`:
ja: これは、:meth:`Story.write_stabilized_links()` を使用して行われます。これは  :meth:`Story.write_stabilized()` とわずかに異なります：

en: It does not take a :ref:`DocumentWriter` `writer` arg.
ja: :ref:`DocumentWriter` の `writer` 引数は必要ありません。

en: It returns a PDF :ref:`Document` instance.
ja: PDF :ref:`Document` のインスタンスを返します。

en: [The reasons for this are a little involved; for example a :ref:`DocumentWriter` is not necessarily a PDF writer, so doesn't really work in a PDF-specific API.]
ja: [これに関する理由は少し複雑です。例えば、 :ref:`DocumentWriter` が必ずしも PDF ライターであるとは限らず、PDF 特有の API ではあまりうまく動作しないためです。]

en: Footnotes
ja: 脚注

en: At the time of writing the HTML engine for Stories is fairly basic and supports a subset of CSS2 attributes.
ja: 執筆時点では、ストーリーのHTMLエンジンはかなり基本的であり、一部のCSS2属性をサポートしています。

en: Some important CSS support to consider:
ja: 考慮すべき重要なCSSサポート:

en: The only available layout is relative layout.
ja: 唯一利用可能なレイアウトは相対レイアウトです。

en: `background` is unavailable, use `background-color` instead.
ja: `background` は利用できませんが、代わりに `background-color` を使用してください。

en: `float` is unavailable.
ja: `float` は利用できません。
