ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
PDF(ポータブルドキュメントフォーマット)**がインターネット上でデータを転送するための最も一般的なファイル形式である理由は、コンテンツの書式設定を保持し、セキュリティ権限でデータを保護する助けになるからです。 PDFファイルをJPG画像やPNG、BMP、TIFF、GIFなどの他の画像フォーマットに変換する必要があるシナリオがあります。 JPG変換のためのオンラインリソースはたくさんありますが、自分でPythonでPDFから画像への変換ツールを作成するのはどれほど素晴らしいでしょうか?
Pythonは、ソフトウェアアプリケーションの構築、ウェブサイトの作成、自動化タスクの実行、データ分析、人工知能および機械学習タスクの実行に使用される高水準プログラミング言語です。 これはスクリプト言語でもあり、インタープリタ方式であるため、迅速な開発とテストの面でより強力です。
画像コンバーターへのPDFを作成するには、コンピューターにPython 3以上をインストールする必要があります。 最新バージョンをダウンロードしてインストールしてください公式ウェブサイト.
この記事では、Python の PDF から画像へのライブラリを使用して自分の画像変換アプリケーションを作成します。 この目的のために、Pythonで最も人気のある2つのライブラリ、PDF2ImageとPyMuPDFを使用します。
PDFを画像に変換するためのPythonライブラリをインストールします。
任意の場所から既存のPDFファイルを読み込む。
変換メソッドを利用します。
ファイルのページを繰り返し処理します。
Python IDLEアプリケーションを開き、Ctrl + Nキーを押します。 テキストエディタが開きます。 この作業を行うためには、自由にお好みのテキストエディタを使用することができます。
ファイルを pdf2image.py として保存し、画像に変換したいPDFファイルと同じ場所に置いてください。
使用する入力PDFファイルは28ページであり、以下の通りです:
PDF2Imageは、pdftocairo
とpdftoppm
をラップするモジュールです。 それは Python 3.7+ 上で動作し、PDFをPILイメージオブジェクトに変換します。 以前のリリース履歴によると、PDFを画像に変換するために pdftoppm
をラップするだけであり、Python 3+でのみ動作していました。
pdf2imageパッケージをインストールするには、WindowsのコマンドプロンプトまたはWindows PowerShellを開き、次のpipコマンドを使用してください。
pip install pdf2image
Pip(パイプ)(優先インストーラプログラム)はPythonのパッケージマネージャーです。 これは、Python標準ライブラリに含まれていない機能や機能性を提供するサードパーティ製ソフトウェアパッケージをダウンロードしてインストールします。
注意: コマンドラインのどこからでもこのコマンドを実行するには、PythonがPATHに追加されている必要があります。 Python 3 以上のバージョンでは、pip の更新版である pip3 を使用することをお勧めします。
Popplerは、PDFファイルを処理するための無料かつオープンソースのライブラリです。 これはPDFファイルをレンダリングし、コンテンツを読み取り、PDFファイル内のコンテンツを修正するために使用されます。 それは一般的にLinuxユーザーによって使用されています。 しかし、Windowsの場合は、最新バージョンのPopplerをダウンロードする必要があります。
Windows ユーザーは、こちらから最新の Poppler バージョンをダウンロードできます:@oschwartz10612 バージョン. 次に、binフォルダをPATH環境変数に追加する必要があります。
Macユーザーもインストールする必要があります。ポップラー. インストールすることができますBrew(ブルー):
brew install poppler
ほとんどのLinuxディストリビューションには、pdftoppm
およびpdftocairo
コマンドラインユーティリティが付属しています。 これらのユーティリティがインストールされていない場合は、パッケージマネージャーを使用して poppler-utils
をインストールできます。
conda
を使用する場合)poppler
をインストール: :InstallCmd conda install -c conda-forge poppler
:InstallCmd pip install pdf2image
さて、すべての準備が整いましたので、PDFを画像に変換するコードを始めましょう。
以下のコードは、入力されたPDFファイルの画像変換を行います:
from pdf2image import convert_from_path
print("Please Wait while the file is being loaded.")
file = convert_from_path('file.pdf')
for i in range(len(file)):
# save pdf as jpg
print("Progress: " + str(round(i/len(file) * 100)) + "%")
file [i].save('page'+ str(i+1) +'.jpg', 'JPEG')
print("Conversion Successful")
上記のコードでは、まず convert_from_path メソッドを使用してファイルを開きます。 このメソッドは、指定されたパスにあるファイルを開きます。 次に、JPG画像に変換するPDFファイルの各ページをループ処理します。 最後に、_save_メソッドを使用して、変換された各ページをJPG画像ファイルとして保存します。今、プログラムを実行して、変換が完了するのを待ちます。
出力画像ファイルはプログラムと同じフォルダに保存されます。
PyMuPDFは、軽量なeブック、PDF、およびXPSビューア、レンダラー、およびツールキットであるMuPDFに対する拡張されたPythonバインディングです。 PDFをJPGやPNGなどの他の形式に変換するために使用できます。 PyMuPDFはPython 3.7以降のバージョンで動作します。
PyMuPDFパッケージをインストールするには、WindowsのコマンドプロンプトまたはWindows PowerShellを開き、次のpipコマンドを使用してください。
pip3 install pymupdf
PyMuPDF は、PDF2Image パッケージとは異なり、追加のライブラリを必要としません。
次のコードは、PyMuPDFからfitz
モジュールをインポートし、PDFを画像に変換するためのものです。
import fitz
doc = fitz.open("file.pdf")
for x in range(len(doc)):
page = doc.load_page(x) # number of page
pix = page.get_pixmap()
output = "output/pdfpage"+str(x+1)+".png" # first create the output folder in the destination
pix.save(output)
doc.close()
上記のコードでは、ファイル名が引数としてfitz.open
メソッドに渡され、ファイルが開かれます。次に、ドキュメント全体をループして、各ページを個別にロードします。 get_pixmap
メソッドは、各ドキュメントページを画像ピクセルに変換するために使用され、結果として得られた画像はsave
メソッドを使用して出力フォルダーに保存されます。 最後に、開かれたドキュメントを閉じてメモリを解放します。
PDF2Imageと比較すると、PyMuPDFはPDFをPNGに変換する際により高速です。 PDF2Imageは、その圧縮率のためPNG形式では処理が遅くなることがあります。
出力はPDF2Imageと同じです:
IronPDFは、PDFファイルの生成、読み取り、および操作に使用されるライブラリです。 専門は、Chromiumエンジンを使用してHTMLをPDFにレンダリングすることにあります。この機能により、HTMLファイルやURLをPDFドキュメントに変換する必要がある開発者の間で人気があります。 さらに、さまざまな形式からPDFファイルへの変換も提供します。
また、わずか2行のコードを使用してPDFファイルを画像にラスタライズすることもできます。 以下のコードは、PDFをさまざまな画像フォーマットに変換する方法を示しています:
from ironpdf import *
# One or more images as a list. This example selects all JPEG images in a specific 'assets' folder.
image_files = [os.path.join("assets", f) for f in os.listdir("assets") if f.lower().endswith(('.jpg', '.jpeg'))]
directory_list = List [str]()
for i in range(len(image_files)):
directory_list.Add(image_files [i])
# Converts the images to a PDF and save it.
ImageToPdfConverter.ImageToPdf(directory_list).SaveAs("composite.pdf")
# Also see PdfDocument.RasterizeToImageFiles() method to flatten a PDF to images or thumbnails
9つの .NET API製品 オフィス文書用