PyMuPDF 1.23.0rc1 - en to ja translation catalogue (135 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: Images
ja: 画像

en: How to Make Images from Document Pages
ja: ドキュメントページから画像を作成する方法

en: This little script will take a document filename and generate a PNG file from each of its pages.
ja: この小さなスクリプトは、文書のファイル名を取得し、各ページからPNGファイルを生成します。

en: The document can be any :ref:`supported type<Supported_File_Types>`.
ja: 文書の種類は、:ref:`サポートされている <Supported_File_Types>` どんな形式でも構いません。

en: The script works as a command line tool which expects the filename being supplied as a parameter. The generated image files (1 per page) are stored in the directory of the script::
ja: このスクリプトはコマンドラインツールとして動作し、ファイル名をパラメータとして指定することを期待しています。生成された画像ファイル（1ページごとに1つ）は、スクリプトが格納されているディレクトリに保存されます。::

en: The script directory will now contain PNG image files named *page-0.png*, *page-1.png*, etc. Pictures have the dimension of their pages with width and height rounded to integers, e.g. 595 x 842 pixels for an A4 portrait sized page. They will have a resolution of 96 dpi in x and y dimension and have no transparency. You can change all that -- for how to do this, read the next sections.
ja: スクリプトのディレクトリには、これから *page-0.png* 、 *page-1.png* などという名前のPNG画像ファイルが含まれるようになります。画像は各ページの寸法に合わせて整数に丸められた幅と高さを持ちます。例えば、A4縦向きのページであれば595 x 842ピクセルとなります。これらの画像は水平方向と垂直方向の解像度が96 dpiで、透明度はありません。これらの設定を変更することもできます。詳細については、次のセクションをお読みください。

en: How to Increase :index:`Image Resolution <pair: image; resolution>`
ja: 画像の解像度を上げる方法

en: The image of a document page is represented by a :ref:`Pixmap`, and the simplest way to create a pixmap is via method :meth:`Page.get_pixmap`.
ja: 文書ページの画像はPixmapによって表されます。 :ref:`Pixmap` を作成するもっとも簡単な方法は、メソッド :meth:`Page.get_pixmap` を使うことです。

en: This method has many options to influence the result. The most important among them is the :ref:`Matrix`, which lets you :index:`zoom`, rotate, distort or mirror the outcome.
ja: このメソッドには結果に影響を与える多くのオプションがあります。その中でも最も重要なのは行列（Matrix）であり、これによって結果を拡大、回転、歪ませる、または反転することができます。

en: :meth:`Page.get_pixmap` by default will use the :ref:`Identity` matrix, which does nothing.
ja: :meth:`Page.get_pixmap` はデフォルトで :ref:`Identity` 行列を使用しますが、これは何も行いません。

en: In the following, we apply a :index:`zoom factor <pair: resolution;zoom>` of 2 to each dimension, which will generate an image with a four times better resolution for us (and also about 4 times the size)::
ja: 以下では、各次元に2倍のズームを適用し、結果として解像度が4倍向上した画像を生成します（そしてサイズも約4倍になります）。::

en: Since version 1.19.2 there is a more direct way to set the resolution: Parameter `"dpi"` (dots per inch) can be used in place of `"matrix"`. To create a 300 dpi image of a page specify `pix = page.get_pixmap(dpi=300)`. Apart from notation brevity, this approach has the additional advantage that the **dpi value is saved with the image** file -- which does not happen automatically when using the Matrix notation.
ja: バージョン1.19.2以降では、解像度を設定するより直接的な方法があります。 `"dpi"` （インチあたりのドット数）というパラメータを `"matrix"` の代わりに使用することができます。ページの300 dpiの画像を作成するには、 `pix = page.get_pixmap(dpi=300)` と指定します。略記法の利便性に加えて、この方法の追加の利点は、dpiの値が画像ファイルとともに保存されることです。これはMatrixの記法を使用する場合に自動的に行われることはありません。

en: How to Create :index:`Partial Pixmaps` (Clips)
ja: 部分的なPixmap（クリップ）の作成方法

en: You do not always need or want the full image of a page. This is the case e.g. when you display the image in a GUI and would like to fill the respective window with a zoomed part of the page.
ja: 常にページの完全な画像が必要なわけではありませんし、必要ともしない場合があります。例えば、GUIで画像を表示し、ページのズームされた部分でウィンドウを埋めたい場合などが該当します。

en: Let's assume your GUI window has room to display a full document page, but you now want to fill this room with the bottom right quarter of your page, thus using a four times better resolution.
ja: GUIウィンドウにフルの文書ページを表示するスペースがあると仮定しましょうが、現在はページの右下の四分の一でこのスペースを埋めたいとします。これにより、解像度が4倍向上します。

en: To achieve this, define a rectangle equal to the area you want to appear in the GUI and call it "clip". One way of constructing rectangles in PyMuPDF is by providing two diagonally opposite corners, which is what we are doing here.
ja: これを実現するために、GUIに表示したい領域に等しい矩形を定義し、「クリップ」と呼びます。PyMuPDFでは、矩形を構築する方法の1つは、対角線上にある2つの角を指定することです。これがここで行っていることです。

en: In the above we construct *clip* by specifying two diagonally opposite points: the middle point *mp* of the page rectangle, and its bottom right, *rect.br*.
ja: 上記では、 `clip` を構築するために、2つの対角線上の点を指定しています：ページ矩形の中心点である `mp` と、その右下の点である `rect.br` です。

en: How to Zoom a Clip to a GUI Window
ja: GUIウィンドウにクリップをズームする方法

en: Please also read the previous section. This time we want to **compute the zoom factor** for a clip, such that its image best fits a given GUI window. This means, that the image's width or height (or both) will equal the window dimension. For the following code snippet you need to provide the WIDTH and HEIGHT of your GUI's window that should receive the page's clip rectangle.
ja: 前のセクションもお読みください。今回は、クリップのズームファクターを計算して、その画像が指定されたGUIウィンドウに最適にフィットするようにします。つまり、画像の幅または高さ（または両方）がウィンドウの寸法と等しくなります。次のコードスニペットでは、GUIウィンドウのWIDTHとHEIGHTを提供する必要があります。それらはページのクリップ矩形を受け取る必要があります。

en: For the other way round, now assume you **have** the zoom factor and need to **compute the fitting clip**.
ja: 逆の場合は、ズームファクターがあると仮定し、フィッティングクリップを計算する必要があります。

en: In this case we have `zoom = HEIGHT/clip.height = WIDTH/clip.width`, so we must set `clip.height = HEIGHT/zoom` and, `clip.width = WIDTH/zoom`. Choose the top-left point `tl` of the clip on the page to compute the right pixmap::
ja: この場合、 `zoom = HEIGHT/clip.height = WIDTH/clip.width`  となるので、 `clip.height = HEIGHT/zoom`  および  `clip.width = WIDTH/zoom`  と設定する必要があります。クリップ内のページ上の左上の点 tl を選択して、適切なピクマップを計算します。

en: How to Create or Suppress Annotation Images
ja: 注釈画像の作成または抑制方法

en: Normally, the pixmap of a page also shows the page's annotations. Occasionally, this may not be desirable.
ja: 通常、ページのピクマップにはページの注釈も表示されます。しかし、時にはこれが望ましくない場合があります。

en: To suppress the annotation images on a rendered page, just specify `annots=False` in :meth:`Page.get_pixmap`.
ja: 描画されたページから注釈画像を抑制するには、 :meth:`Page.get_pixmap` で  `annots=False` を指定します。

en: You can also render annotations separately: they have their own :meth:`Annot.get_pixmap` method. The resulting pixmap has the same dimensions as the annotation rectangle.
ja: 注釈を個別にレンダリングすることもできます。注釈には独自の :meth:`Annot.get_pixmap` メソッドがあります。結果のピクマップは注釈の矩形と同じ寸法です。

en: How to Extract Images: Non-PDF Documents
ja: 画像の抽出方法：非PDFドキュメント

en: In contrast to the previous sections, this section deals with **extracting** images **contained** in documents, so they can be displayed as part of one or more pages.
ja: 前のセクションとは対照的に、このセクションではドキュメントに含まれる画像の抽出に取り組みます。これにより、これらの画像を1つ以上のページの一部として表示することができます。

en: If you want to recreate the original image in file form or as a memory area, you have basically two options:
ja: 元の画像をファイル形式またはメモリ領域として再作成したい場合、基本的に2つのオプションがあります：

en: Convert your document to a PDF, and then use one of the PDF-only extraction methods. This snippet will convert a document to PDF::
ja: ドキュメントをPDFに変換し、その後PDF専用の抽出方法のいずれかを使用します。以下のスニペットはドキュメントをPDFに変換します::

en: Use :meth:`Page.get_text` with the "dict" parameter. This works for all document types. It will extract all text and images shown on the page, formatted as a Python dictionary. Every image will occur in an image block, containing meta information and **the binary image data**. For details of the dictionary's structure, see :ref:`TextPage`. The method works equally well for PDF files. This creates a list of all images shown on a page::
ja: 「dict」パラメータを使って :meth:`Page.get_text` を使用します。これはすべてのドキュメントタイプに対して機能します。これにより、ページに表示されているすべてのテキストと画像がPythonの辞書としてフォーマットされて抽出されます。各画像は、メタ情報とバイナリ画像データを含む画像ブロックに含まれます。辞書の構造の詳細については、 :ref:`TextPage` を参照してください。この方法はPDFファイルにも同じくうまく機能します。これにより、ページに表示されているすべての画像のリストが作成されます::

en: How to Extract Images: PDF Documents
ja: 画像の抽出方法：PDFドキュメント

en: Like any other "object" in a PDF, images are identified by a cross reference number (:data:`xref`, an integer). If you know this number, you have two ways to access the image's data:
ja: PDF内の他のオブジェクトと同様に、画像は交差参照番号（ :data:`xref` 、整数）によって識別されます。この番号を知っていれば、画像のデータにアクセスする方法が2つあります：

en: **Create** a :ref:`Pixmap` of the image with instruction *pix = fitz.Pixmap(doc, xref)*. This method is **very** fast (single digit micro-seconds). The pixmap's properties (width, height, ...) will reflect the ones of the image. In this case there is no way to tell which image format the embedded original has.
ja: **画像の** :ref:`Pixmap` を作成します。指示： `pix = fitz.Pixmap(doc, xref)` 。この方法は非常に高速です（単桁のマイクロ秒）。 :ref:`Pixmap` のプロパティ（幅、高さなど）は、画像のものと同じになります。この場合、埋め込まれたオリジナルの画像形式を判別する方法はありません。

en: **Extract** the image with *img = doc.extract_image(xref)*. This is a dictionary containing the binary image data as *img["image"]*. A number of meta data are also provided -- mostly the same as you would find in the pixmap of the image. The major difference is string *img["ext"]*, which specifies the image format: apart from "png", strings like "jpeg", "bmp", "tiff", etc. can also occur. Use this string as the file extension if you want to store to disk. The execution speed of this method should be compared to the combined speed of the statements *pix = fitz.Pixmap(doc, xref);pix.tobytes()*. If the embedded image is in PNG format, the speed of :meth:`Document.extract_image` is about the same (and the binary image data are identical). Otherwise, this method is **thousands of times faster**, and the **image data is much smaller**.
ja: **画像を抽出します。指示**： `img = doc.extract_image(xref)` 。これはバイナリ画像データを含む辞書です。多くのメタデータも提供されますが、主に画像の :ref:`Pixmap` で見つけることができるものとほぼ同じです。主な違いは、文字列 img["ext"] であり、画像形式を指定します。"png" 以外にも "jpeg" 、 "bmp"、 "tiff" などの文字列が出現することがあります。ディスクに保存する場合は、この文字列をファイル拡張子として使用します。このメソッドの実行速度は、以下のステートメントの組み合わせ速度 `pix = fitz.Pixmap(doc, xref);pix.tobytes()` と比較する必要があります。埋め込まれた画像がPNG形式の場合、 :meth:`Document.extract_image` の速度はほぼ同じで（バイナリ画像データも同じです）、それ以外の場合は、このメソッドは数千倍高速であり、画像データも小さくなります

en: The question remains: **"How do I know those 'xref' numbers of images?"**. There are two answers to this:
ja: **「どのようにして画像の'xref'番号を知るのか？」** これには2つの答えがあります：

en: **"Inspect the page objects:"** Loop through the items of :meth:`Page.get_images`. It is a list of list, and its items look like *[xref, smask, ...]*, containing the :data:`xref` of an image. This :data:`xref` can then be used with one of the above methods. Use this method for **valid (undamaged)** documents. Be wary however, that the same image may be referenced multiple times (by different pages), so you might want to provide a mechanism avoiding multiple extracts.
ja: **「ページオブジェクトを検査する」** ： :meth:`Page.get_images` の項目をループ処理します。これはリストのリストであり、項目は `[xref、smask、...]` のようになっており、画像の :data:`xref` を含んでいます。この :data:`xref` を上記の方法の1つで使用できます。これは有効（損傷していない）なドキュメントに使用しますが、同じ画像が複数回（異なるページで）参照されることがあるため、複数回の抽出を避けるメカニズムを提供することが望ましいかもしれません。

en: **"No need to know:"** Loop through the list of **all xrefs** of the document and perform a :meth:`Document.extract_image` for each one. If the returned dictionary is empty, then continue -- this :data:`xref` is no image. Use this method if the PDF is **damaged (unusable pages)**. Note that a PDF often contains "pseudo-images" ("stencil masks") with the special purpose of defining the transparency of some other image. You may want to provide logic to exclude those from extraction. Also have a look at the next section.
ja: **「知る必要はありません」**：ドキュメントのすべての :data:`xref` のリストをループ処理し、各 :data:`xref` に対して :meth:`Document.extract_image` を実行します。返される辞書が空であれば、続けて次の :data:`xref` を処理します。この :data:`xref` は画像ではありません。これはPDFが損傷している（使用できないページがある）場合に使用します。PDFにはしばしば他の画像の透明度を定義する特別な目的の「擬似画像」（ステンシルマスク）が含まれていることに注意してください。これらを抽出から除外するためのロジックを提供することがあるかもしれません。次のセクションも参照してください。

en: For both extraction approaches, there exist ready-to-use general purpose scripts:
ja: これらの抽出方法の両方に対して、一般的な用途のスクリプトが存在します。

en: `extract-from-pages.py <https://github.com/pymupdf/PyMuPDF-Utilities/blob/master/examples/extract-images/extract-from-pages.py>`_ extracts images page by page:
ja: `extract-from-pages.py <https://github.com/pymupdf/PyMuPDF-Utilities/blob/master/examples/extract-images/extract-from-pages.py>`_  はページごとに画像を抽出します。

en: and `extract-from-xref.py <https://github.com/pymupdf/PyMuPDF-Utilities/blob/master/examples/extract-images/extract-from-xref.py>`_ extracts images by xref table:
ja: `extract-from-xref.py <https://github.com/pymupdf/PyMuPDF-Utilities/blob/master/examples/extract-images/extract-from-xref.py>`_  はxrefテーブルによって画像を抽出します。

en: How to Handle Image Masks
ja: 画像マスクの処理方法

en: Some images in PDFs are accompanied by **image masks**. In their simplest form, masks represent alpha (transparency) bytes stored as separate images. In order to reconstruct the original of an image, which has a mask, it must be "enriched" with transparency bytes taken from its mask.
ja: PDF内の一部の画像には画像マスクが付属しています。最も単純な形式では、マスクは別の画像として格納されたアルファ（透明度）バイトを表します。画像の元の形を復元するには、そのマスクから取得した透明度バイトを使用して画像を「補完」する必要があります。

en: Whether an image does have such a mask can be recognized in one of two ways in PyMuPDF:
ja: PyMuPDFでは、画像にそのようなマスクがあるかどうかは次の2つの方法で認識できます：

en: An item of :meth:`Document.get_page_images` has the general format `(xref, smask, ...)`, where *xref* is the image's :data:`xref` and *smask*, if positive, then it is the :data:`xref` of a mask.
ja: :meth:`Document.get_page_images` の項目は一般的な形式 `（xref、smask、...）` を持ちます。ここで、xrefは画像の :data:`xref` であり、 「smask」 が正の場合、それはマスクの :data:`xref` です。

en: The (dictionary) results of :meth:`Document.extract_image` have a key *"smask"*, which also contains any mask's :data:`xref` if positive.
ja: :meth:`Document.extract_image` の結果（辞書）には、キー「smask」があります。このキーには、マスクの :data:`xref` が含まれています。

en: If *smask == 0* then the image encountered via :data:`xref` can be processed as it is.
ja: `smask == 0` の場合、 :data:`xref` を介して遭遇した画像はそのまま処理できます。

en: To recover the original image using PyMuPDF, the procedure depicted as follows must be executed:
ja: PyMuPDFを使用して元の画像を復元するためには、以下に示す手順を実行する必要があります：

en: Step (1) creates a pixmap of the basic image. Step (2) does the same with the image mask. Step (3) adds an alpha channel and fills it with transparency information.
ja: ステップ（1）では、基本画像のピクマップを作成します。ステップ（2）では、同じことを画像マスクで行います。ステップ（3）では、アルファチャンネルを追加し、透明情報で埋めます。

en: The scripts `extract-from-pages.py <https://github.com/pymupdf/PyMuPDF-Utilities/blob/master/examples/extract-images/extract-from-pages.py>`_, and `extract-from-xref.py <https://github.com/pymupdf/PyMuPDF-Utilities/blob/master/examples/extract-images/extract-from-xref.py>`_ above also contain this logic.
ja: また、上記の `extract-from-pages.py <https://github.com/pymupdf/PyMuPDF-Utilities/blob/master/examples/extract-images/extract-from-pages.py>`_ および `extract-from-xref.py <https://github.com/pymupdf/PyMuPDF-Utilities/blob/master/examples/extract-images/extract-from-xref.py>`_  というスクリプトにもこのロジックが含まれています。

en: How to Make one PDF of all your Pictures (or Files)
ja: すべての写真（またはファイル）を1つのPDFにする方法

en: We show here **three scripts** that take a list of (image and other) files and put them all in one PDF.
ja: 以下に、（画像およびその他の）ファイルのリストを受け取り、それらをすべて1つのPDFに結合する3つのスクリプトを示します。

en: **Method 1: Inserting Images as Pages**
ja: **方法1：画像をページとして挿入する方法**

en: The first one converts each image to a PDF page with the same dimensions. The result will be a PDF with one page per image. It will only work for :ref:`supported image<Supported_File_Types>` file formats::
ja: 最初の方法では、各画像を同じ寸法のPDFページに変換します。結果は、1つの画像に1ページのPDFとなります。ただし、 :ref:`サポートされている <Supported_File_Types>` 画像ファイル形式のみで動作します。::

en: This will generate a PDF only marginally larger than the combined pictures' size. Some numbers on performance:
ja: これにより、結合された画像のサイズとほとんど変わらないPDFが生成されます。パフォーマンスに関するいくつかの数値：

en: The above script needed about 1 minute on my machine for 149 pictures with a total size of 514 MB (and about the same resulting PDF size).
ja: 上記のスクリプトは、149枚の画像で合計サイズが514 MBの場合、私のマシン上で約1分かかりました（生成されたPDFのサイズもほぼ同じです）。

en: Look `here <https://github.com/pymupdf/PyMuPDF-Utilities/blob/master/examples/insert-images/insert.py>`_ for a more complete source code: it offers a directory selection dialog and skips unsupported files and non-file entries.
ja: より完全なソースコードは `こちら <https://github.com/pymupdf/PyMuPDF-Utilities/blob/master/examples/insert-images/insert.py>`_ をご覧ください：ディレクトリ選択ダイアログを提供し、サポートされていないファイルやファイルでないエントリをスキップします。

en: We might have used :meth:`Page.insert_image` instead of :meth:`Page.show_pdf_page`, and the result would have been a similar looking file. However, depending on the image type, it may store **images uncompressed**. Therefore, the save option *deflate = True* must be used to achieve a reasonable file size, which hugely increases the runtime for large numbers of images. So this alternative **cannot be recommended** here.
ja: :meth:`Page.insert_image` の代わりに :meth:`Page.show_pdf_page` を使用することもできましたが、結果として似たような外観のファイルになります。ただし、画像の種類によっては、非圧縮で画像を保存する場合があります。そのため、適切なファイルサイズを得るためには、保存オプションとして `deflate = True` を使用する必要がありますが、これにより大量の画像の場合、実行時間が大幅に増加します。そのため、この代替方法はお勧めできません。

en: **Method 2: Embedding Files**
ja: **方法2：ファイルの埋め込み**

en: The second script **embeds** arbitrary files -- not only images. The resulting PDF will have just one (empty) page, required for technical reasons. To later access the embedded files again, you would need a suitable PDF viewer that can display and / or extract embedded files::
ja: 2つ目のスクリプトは、画像だけでなく、任意のファイルを埋め込みます。技術的な理由で必要なので、結果として得られるPDFには1つだけ（空の）ページがあります。埋め込まれたファイルに後でアクセスするためには、埋め込まれたファイルを表示または抽出できる適切なPDFビューアが必要です::

en: This is by far the fastest method, and it also produces the smallest possible output file size. The above pictures needed 20 seconds on my machine and yielded a PDF size of 510 MB. Look `here <https://github.com/pymupdf/PyMuPDF-Utilities/tree/master/examples/embed-images/embed.py>`_ for a more complete source code: it offers a directory selection dialog and skips non-file entries.
ja: これは断然最も高速な方法であり、可能な限り最小の出力ファイルサイズを生成します。上記の画像は私のマシンで20秒かかり、PDFのサイズは510 MBになりました。より完全なソースコードは `こちら <https://github.com/pymupdf/PyMuPDF-Utilities/tree/master/examples/embed-images/embed.py>`_  をご覧ください：ディレクトリ選択ダイアログを提供し、ファイルでないエントリをスキップします。

en: **Method 3: Attaching Files**
ja: **方法3：ファイルの添付**

en: A third way to achieve this task is **attaching files** via page annotations see `here <https://github.com/pymupdf/PyMuPDF-Utilities/blob/master/examples/attach-images/attach.py>`_ for the complete source code.
ja: このタスクを達成する第3の方法は、ページの注釈を介してファイルを添付する方法です。完全なソースコードについては `こちら <https://github.com/pymupdf/PyMuPDF-Utilities/blob/master/examples/attach-images/attach.py>`_ をご覧ください。

en: This has a similar performance as the previous script and it also produces a similar file size. It will produce PDF pages which show a 'FileAttachment' icon for each attached file.
ja: これは前のスクリプトと同様のパフォーマンスを持ち、似たようなファイルサイズも生成します。それぞれの添付ファイルに対して「FileAttachment」アイコンが表示されるPDFページを生成します。

en: Both, the **embed** and the **attach** methods can be used for **arbitrary files** -- not just images.
ja: 埋め込みと添付の両方の方法は、画像だけでなく任意のファイルにも使用できます。

en: We strongly recommend using the awesome package `PySimpleGUI <https://pypi.org/project/PySimpleGUI/>`_ to display a progress meter for tasks that may run for an extended time span. It's pure Python, uses Tkinter (no additional GUI package) and requires just one more line of code!
ja: 長時間にわたるタスクに対して進捗メーターを表示するために、素晴らしいパッケージ `PySimpleGUI <https://pypi.org/project/PySimpleGUI/>`_  の使用を強くお勧めします。これは純粋なPythonであり、Tkinter（追加のGUIパッケージは不要）を使用し、たった1行のコードを追加するだけで使えます！

en: How to Create Vector Images
ja: ベクター画像の作成方法

en: The usual way to create an image from a document page is :meth:`Page.get_pixmap`. A pixmap represents a raster image, so you must decide on its quality (i.e. resolution) at creation time. It cannot be changed later.
ja: ドキュメントページから画像を作成する通常の方法は、 :meth:`Page.get_pixmap` を使用することです。ピクマップはラスター画像を表しますので、作成時にその品質（つまり解像度）を決定する必要があります。後から変更することはできません。

en: PyMuPDF also offers a way to create a **vector image** of a page in SVG format (scalable vector graphics, defined in XML syntax). SVG images remain precise across zooming levels (of course with the exception of any raster graphic elements embedded therein).
ja: PyMuPDFはまた、SVG形式（XML構文で定義されたスケーラブルベクターグラフィックス）でページのベクター画像を作成する方法を提供しています。SVG画像はズームレベルで正確性を保持します（もちろん、埋め込まれたラスターグラフィックス要素を除く）。

en: Instruction *svg = page.get_svg_image(matrix=fitz.Identity)* delivers a UTF-8 string *svg* which can be stored with extension ".svg".
ja: 指示  `svg = page.get_svg_image(matrix=fitz.Identity)`  はUTF-8文字列 *svg* を提供します。これは  ".svg" の拡張子で保存できます。

en: How to Convert Images
ja: 画像の変換方法

en: Just as a feature among others, PyMuPDF's image conversion is easy. It may avoid using other graphics packages like PIL/Pillow in many cases.
ja: PyMuPDFの画像変換も他の機能と同様に簡単です。多くの場合、PIL/Pillowなどの他のグラフィックスパッケージを使用する必要がないかもしれません。

en: Notwithstanding that interfacing with Pillow is almost trivial.
ja: ただし、Pillowとの連携はほとんど自明です。

en: **Input Formats**
ja: **入力フォーマット**

en: **Output Formats**
ja: **出力フォーマット**

en: **Description**
ja: **説明**

en: The general scheme is just the following two lines::
ja: 一般的なスキームは以下の2行です::

en: **Remarks**
ja: **コメント**

en: The **input** argument of *fitz.Pixmap(arg)* can be a file or a bytes / io.BytesIO object containing an image.
ja: `fitz.Pixmap(arg)` の入力引数は、画像を含むファイルまたはbytes/io.BytesIOオブジェクトを指定できます。

en: Instead of an output **file**, you can also create a bytes object via *pix.tobytes("yyy")* and pass this around.
ja: 出力ファイルの代わりに、 `pix.tobytes("yyy")` を使用してbytesオブジェクトを作成し、それを渡すこともできます。

en: As a matter of course, input and output formats must be compatible in terms of colorspace and transparency. The *Pixmap* class has batteries included if adjustments are needed.
ja: もちろん、入力と出力のフォーマットは、色空間と透過性の面で互換性が必要です。 :ref:`Pixmap` クラスには、必要に応じて調整を行うための組み込みの機能が備わっています。

en: **Convert JPEG to Photoshop**::
ja: **JPEGをPhotoshopに変換する**::

en: Convert **JPEG to Tkinter PhotoImage**. Any **RGB / no-alpha** image works exactly the same. Conversion to one of the **Portable Anymap** formats (PPM, PGM, etc.) does the trick, because they are supported by all Tkinter versions::
ja: アルファ付きのPNGをTkinterのPhotoImageに変換してください。これには、PPMへの変換を行う前にアルファバイトを削除する必要があります。

en: Convert **PNG with alpha** to Tkinter PhotoImage. This requires **removing the alpha bytes**, before we can do the PPM conversion::
ja: アルファ付きのPNGをTkinterのPhotoImageに変換します。このためには、PPMへの変換を行う前にアルファバイトを取り除く必要があります。

en: How to Use Pixmaps: Gluing Images
ja: ピクスマップの使用方法：画像の結合

en: This shows how pixmaps can be used for purely graphical, non-document purposes. The script reads an image file and creates a new image which consist of 3 * 4 tiles of the original::
ja: これは、ピクスマップを純粋にグラフィカルで、文書ではない目的で使用する方法を示しています。スクリプトは画像ファイルを読み込み、元の画像の3 * 4タイルからなる新しい画像を作成します。

en: This is the input picture:
ja: これが入力画像です。

en: Here is the output:
ja: こちらが出力結果です。

en: How to Use Pixmaps: Making a Fractal
ja: ピクスマップの使用方法：フラクタルの作成

en: Here is another Pixmap example that creates **Sierpinski's Carpet** -- a fractal generalizing the **Cantor Set** to two dimensions. Given a square carpet, mark its 9 sub-suqares (3 times 3) and cut out the one in the center. Treat each of the remaining eight sub-squares in the same way, and continue *ad infinitum*. The end result is a set with area zero and fractal dimension 1.8928...
ja: ここでは、もう一つのピクスマップの例を紹介します。シェルピンスキーのカーペット（Sierpinski's Carpet）と呼ばれるフラクタルで、カントール集合を2次元に一般化したものです。正方形のカーペットにおいて、9つの部分正方形（3行3列）をマークし、中央の正方形を切り抜きます。残りの8つの部分正方形に対しても同じ操作を行い、無限に続けます。その結果、面積がゼロであり、フラクタル次元は1.8928...となります。

en: This script creates an approximate image of it as a PNG, by going down to one-pixel granularity. To increase the image precision, change the value of n (precision)::
ja: このスクリプトは、1ピクセルの精度にまで細かくなったPNGの近似画像を作成します。画像の精度を高めるには、n（精度）の値を変更してください::

en: The result should look something like this:
ja: 結果は以下のようになるはずです：

en: How to Interface with NumPy
ja: NumPyとのインターフェース方法

en: This shows how to create a PNG file from a numpy array (several times faster than most other methods)::
ja: これは、NumPy配列からPNGファイルを作成する方法を示しています（他の方法よりも数倍高速です）。

en: How to Add Images to a PDF Page
ja: PDFページに画像を追加する方法

en: There are two methods to add images to a PDF page: :meth:`Page.insert_image` and :meth:`Page.show_pdf_page`. Both methods have things in common, but there are also differences.
ja: PDFページに画像を追加するには、2つの方法があります： :meth:`Page.insert_image` と :meth:`Page.show_pdf_page` です。両方の方法には共通点がありますが、違いもあります。

en: **Criterion**
ja: **基準**

en: displayable content
ja: 表示可能なコンテンツ

en: image file, image in memory, pixmap
ja: 画像ファイル、メモリ内の画像、ピクスマップ

en: PDF page
ja: PDFページ

en: display resolution
ja: 表示解像度

en: image resolution
ja: 画像の解像度

en: vectorized (except raster page content)
ja: ベクトル化（ラスターページコンテンツを除く）

en: rotation
ja: 回転

en: 0, 90, 180 or 270 degrees
ja: 0度、90度、180度または270度

en: any angle
ja: 任意の角度

en: clipping
ja: クリッピング

en: no (full image only)
ja: いいえ（全体の画像のみ）

en: yes
ja: はい

en: keep aspect ratio
ja: アスペクト比を保持

en: yes (default option)
ja: はい（デフォルトオプション）

en: transparency (water marking)
ja: 透明性（ウォーターマーキング）

en: depends on the image
ja: 画像による

en: depends on the page
ja: ページによる

en: location / placement
ja: 位置/配置

en: scaled to fit target rectangle
ja: ターゲットの矩形にフィットするようにスケーリング

en: performance
ja: パフォーマンス

en: automatic prevention of duplicates;
ja: 重複の自動防止

en: multi-page image support
ja: マルチページ画像のサポート

en: no
ja: いいえ

en: ease of use
ja: 使いやすさ

en: simple, intuitive;
ja: シンプルで直感的

en: simple, intuitive; **usable for all document types** (including images!) after conversion to PDF via :meth:`Document.convert_to_pdf`
ja: シンプルで直感的; :meth:`Document.convert_to_pdf` を介してPDFに変換後、すべてのドキュメントタイプ（画像を含む！）に使用可能

en: Basic code pattern for :meth:`Page.insert_image`. **Exactly one** of the parameters **filename / stream / pixmap** must be given, if not re-inserting an existing image::
ja: :meth:`Page.insert_image` の基本的なコードパターン。 **filename / stream / pixmap** のうち、1つだけを指定する必要があります（既存の画像を再挿入しない場合）::

en: Basic code pattern for :meth:`Page.show_pdf_page`. Source and target PDF must be different :ref:`Document` objects (but may be opened from the same file)::
ja: :meth:`Page.show_pdf_page` の基本的なコードパターン。ソースとターゲットのPDFは異なる :ref:`Document` オブジェクトである必要があります（ただし、同じファイルから開くこともできます）::

en: How to Use Pixmaps: Checking Text Visibility
ja: ピクスマップの使用方法：テキストの表示可否の確認

en: Whether or not a given piece of text is actually visible on a page depends on a number of factors:
ja: 特定のテキストが実際にページ上で表示されるかどうかは、いくつかの要因に依存します：

en: Text is not covered by another object but may have the same color as the background i.e., white-on-white etc.
ja: テキストは他のオブジェクトによって隠されていないが、背景と同じ色を持っている場合があります。例えば、白文字が白地になっているなどです。

en: Text may be covered by an image or vector graphics. Detecting this is an important capability, for example to uncover badly anonymized legal documents.
ja: テキストは画像やベクトルグラフィックスによって隠されている場合があります。これを検出することは重要な機能であり、例えば不適切に匿名化された法的文書を解明するために使用されます。

en: Text is created hidden. This technique is usually used by OCR tools to store the recognized text in an invisible layer on the page.
ja: テキストが非表示に作成される場合があります。これは通常、OCRツールが認識されたテキストをページ上の非表示レイヤーに保存するために使用されます。

en: The following shows how to detect situation 1. above, or situation 2. if the covering object is unicolor::
ja: 以下では、1.の状況を検出する方法、または2.の状況を検出する方法（カバーしているオブジェクトが単色である場合）を示します::

en: Method :meth:`Pixmap.color_topusage` returns a tuple `(ratio, pixel)` where 0 < ratio <= 1 and *pixel* is the pixel value of the color. Please note that we create a **pixmap only once**. This can save a lot of processing time if there are multiple hit rectangles.
ja: メソッド :meth:`Pixmap.color_topusage` は、タプル `(ratio, pixel)` （比率、ピクセル）を返します。ここで、0 < ratio <= 1であり、pixelは色のピクセル値です。複数のヒット矩形がある場合、ピクスマップを1回だけ作成することに注意してください。これにより、処理時間を大幅に節約できます。

en: The logic of the above code is: If the needle's rectangle is ("almost": > 95%) unicolor, then the text cannot be visible. A typical result for visible text returns the color of the background (mostly white) and a ratio around 0.7 to 0.8, for example `(0.685, b'\xff\xff\xff')`.
ja: 上記のコードのロジックは次の通りです：もしニードルの矩形が「ほぼ」（95％以上）単色であれば、テキストは表示されないと判断します。テキストが表示される場合の典型的な結果は、背景の色（主に白）と比率が0.7から0.8程度で返されることがあります。例えば、`(0.685, b'xffxffxff')` のような結果が得られます。

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