[PYTHON] Convertir des fichiers PDF en fichiers PNG avec GIMP

Les informations fournies par les ministères et agences liées au COVID-19 contiennent de nombreux fichiers pdf, et lors du partage d'informations, il est difficile de les convertir manuellement en image afin de visualiser un grand nombre de pages, j'ai donc créé un plug-in.

Partagez les informations ci-dessous.

    1. À propos de GIMP

GIMP est un logiciel d'édition d'images gratuit et open source. https://www.gimp.org/

  1. Comment convertir un PDF en PNG avec GIMP

〇 Lors de la conversion manuelle de pdf en png (1) Démarrez GIMP. image.png

(2) Faites glisser et déposez le fichier pdf pour afficher la boîte de dialogue Cliquez sur [Importer]. (Vous pouvez également l'ouvrir en sélectionnant [Fichier] - [Ouvrir / Importer]) image.png

Le pdf sera lu comme une image. Chaque page est chargée comme une couche. image.png

(3) Exporter avec l'extension png depuis [Fichier] - [Exporter sous ...]. Seule l'image en haut du calque est exportée ici. Répétez cette opération à chaque fois en cachant le calque.


〇 Lors de la conversion automatique de pdf en png (1) Tout d'abord, vérifiez si le plug-in python est disponible. https://docs.gimp.org/2.10/ja/gimp-filters-python-fu.html Ceci est également pour référence. https://www.ibm.com/developerworks/jp/opensource/library/os-autogimp/index.html

Vous pouvez l'utiliser si vous avez [Python-Fu] dans [Filter]. Sinon, faites de votre mieux. (Je suis désolé. Peut-être quelque chose à faire au moment de l'installation. J'étais seul.)

(2) Écrivez le code et enregistrez-le dans le dossier du plug-in.

export_pdf2png.py


#!/usr/bin/env python
# -*- coding: utf-8 -*-
#

from gimpfu import *
import os

def export_pdf2png(img, drw, path):
    img = img.duplicate()
    for layer in img.layers:
        layer.visible = False
    
    for idx, layer in enumerate(img.layers):
        layer.visible = True
        
        filename = '{0}{1}.png'.format('PDF2PNG', idx)
        fullpath = os.path.join(path, filename)

        layer_img = img.duplicate()
        layer_img.flatten()
        
        pdb.file_png_save(img, img.layers[idx], fullpath, filename, 0, 9, 0, 0, 0, 0, 0)

register(
    "python-fu-export-pdf2png",
    "Export PDF to PNG",
    "Exports pdf to png file",
    "J",
    "",
    "",
    "Convertir de PDF en PNG...",
    "*",
    [
        (PF_IMAGE, "img", "Input image", None),
        (PF_DRAWABLE, "drw", "Input drawable", None),
        (PF_DIRNAME, "path", "Output directory", os.getcwd())
    ],
    [],
    export_pdf2png,
    menu="<Image>/File/"
    )

main()

Le dossier du plug-in est défini sur [Edit] - [Settings] - [Folder] - [Plug-ins]. image.png

(3) Redémarrez GIMP et vérifiez qu'il est enregistré dans le menu [Fichier]. image.png

Importez le fichier pdf avec GIMP de la même manière que manuellement.

Sélectionnez [Convertir PDF en PNG ...] dans le menu [Fichier], spécifiez le dossier de destination de sortie et exécutez. image.png

Les pages sont sorties comme ceci. image.png

Ceci est l'image de sortie (1ère page). image.png

Je pense que cela peut ne pas fonctionner dans l'environnement, etc., donc je suis désolé dans ce cas. J'espère que cela sera utile pour ceux qui en ont besoin.

Remarque: lorsque vous démarrez le navigateur de procédures à partir de l'aide, les informations de procédure s'affichent. image.png

Recommended Posts

Convertir des fichiers PDF en fichiers PNG avec GIMP
Convertir un PDF en image (JPEG / PNG) avec Python
Convertir un PDF en image avec ImageMagick
Convertir de PDF en CSV avec pdfplumber
Convertir des fichiers écrits en python, etc. en pdf avec la coloration syntaxique
Convertir 202003 en 2020-03 avec les pandas
Conversion DICOM en PNG avec ordre croissant et décroissant
Convertir un fichier svg en png / ico avec Python
Convertissez plusieurs fichiers jpg en un seul fichier PDF
Conversion par lots de fichiers PSD du répertoire en PDF
Les débutants essaient de convertir des fichiers Word en PDF à la fois
Créez une API pour convertir des fichiers PDF en images TIF avec FastAPI et Docker
Convertissez l'image au format .zip en PDF avec Python
Comment convertir des pages Web en PDF, PNG, JPG avec VBA (Excel) (Selenium Basic)
Intégrez des fichiers PDF avec Python
Conversion par lots de fichiers image téléchargés vers MS Forms / Google Forms vers PDF
Convertissez des images numérisées déformées en PDF avec Pillow et PyPDF
Convertir .ipynb en .html (avec BatchFile)
Convertir un PDF en documents par OCR
Convertir Markdown en PDF en Python
Convertir un PDF A4 en A3 toutes les 2 pages
Convertir la liste en DataFrame avec python
Conversion de pdf en txt 2 [pyocr]
Activé pour convertir PNG en JPG avec Pillow of Python
Convertissez un grand nombre de fichiers PDF en fichiers texte à l'aide de pdfminer
Pour le moment, je veux convertir n'importe quel fichier avec ffmpeg !!
Convertir un mémo à la fois avec Python 2to3
Convertir un fichier psd en png en Python
Convertir des chaînes de caractères en quantités de caractéristiques avec RoBERTa
Convertir des données Excel en JSON avec python
[MNIST] Convertir les données en PNG pour les keras
Convertir Hiragana en Romaji avec Python (bêta)
Convertir un PDF joint en courrier électronique au format texte
Convertir un tableau (struct) en json avec golang
Convertir des nombres chinois en nombres arabes avec Python
Exemple de conversion en ondelettes d'images en Python
[COMMENT FAIRE] Un moyen facile de déboguer lors de la génération d'un fichier PDF avec PHP, etc.
Résumé de la comparaison des bibliothèques pour générer des PDF avec Python
Convertir le fichier FBX en ASCII <-> BINARY en Python
Convertissez les données avec la forme (nombre de données, 1) en (nombre de données,) avec numpy.
Convertir en HSV
Convertissez des PDF en images en masse avec Python
Convertir mp4 en mp3 avec ffmpeg (version miniature intégrée)
[Python] Conversion de DICOM en PNG ou CSV
Convertir les valeurs d'époque Windows à ce jour avec python
Convertissez facilement les notebooks Jupyter en blogs avec Fastpages
Convertir des fichiers CSV UTF-8 pour les lire dans Excel
Télécharger des fichiers sur Google Drive avec Lambda (Python)
Comment convertir (32,32,3) en tenseur à 4 dimensions (1,32,32,1) avec le type ndarray
[Petite histoire] Un moyen simple de convertir Jupyter en PDF
Convertissez plusieurs fichiers proto à la fois avec python
Convertir une chaîne au format de liste caractère par caractère avec python
Convertir le fichier .ipynb du notebook jupyter en fichier .py exécutable python
Je veux convertir une image en WebP avec sucette
Les images créées avec matplotlib passent de dvi à pdf
Procédure pour charger MNIST avec python et sortie en png
0 Convertir une date non remplie en type datetime avec une expression régulière
Convertir un fichier texte avec des valeurs hexadécimales en fichier binaire
Comment convertir des données détenues horizontalement en données détenues verticalement avec des pandas