Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

PythonでPDFからPNGに変換する + α

More than 1 year has passed since last update.

概要

  • PDF => PNG(画像)に変換するAPIを作りたかったのでPython3でやってみました
  • pdf2imageを使えばサクッとできます
  • ソースはこちらにあるので試したい方はどうぞ

Packages

パッケージ以外にOS側にpopplerが入ってないと動かないと思うのでこちらからインストールしておいてください

requirements.txt
pdf2image
Pillow
wheel

以下のコマンドで一気にインストールできます

pip install -r requirements.txt

実装

PDF => PNGと 必要になったのでPDF => PNG => Base64もやってみました

PDF => PNG

import base64
from pdf2image import convert_from_path, convert_from_bytes


images = convert_from_path('sample.pdf')

for index, image in enumerate(images):
    name = str(index) + '.png'
    image.save(name, 'png')

PDF => PNG => Base64

import base64
from io import BytesIO
from pdf2image import convert_from_path, convert_from_bytes


images = convert_from_path('sample.pdf')


def base64pdf_to_base64png(image):
    buffer = BytesIO()
    image.save(buffer, format="PNG")
    return base64.b64encode(buffer.getvalue()).decode().replace("'", "")


base64Pngs = list(map(base64pdf_to_base64png, images))
print(base64Pngs)
fixer-inc
Microsoft Azureの24/365フルマネージドサービス「cloud.config」を中核とするクラウドソリューションを提供。最先端のテクノロジーで、お客様の新たな挑戦を成就します。
https://www.fixer.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away