[PYTHON] Les débutants essaient de convertir des fichiers Word en PDF à la fois

Déclencheur de l'initiative

J'utilise souvent Word pour créer des documents, mais Après avoir fait la promotion de la dématérialisation et l'introduction du groupware Commencez par une voix de votre patron disant: "Convertissons les fichiers Word en PDF et gérons les documents de manière centralisée !!"

La bataille avec d'innombrables ".doc" et ".docx" dont je ne sais pas combien commence ... Bien sûr, personne dans l'entreprise ne peut utiliser python, alors je l'ai essayé implicitement.

la mise en oeuvre

import win32com.client
import os
#Installez les modules requis

wd = win32com.client.Dispatch('Word.Application')
#Déclaration de "manipuler Word"

documents_path = 'C:/test/'
word_list = []
#Définissez le chemin du dossier dans lequel les fichiers sont stockés
#word_file_Liste vide pour stocker le nom(word_list)Créer

for word_file_name in os.listdir(documents_path):
    if os.path.isfile(os.path.join(documents_path, word_file_name)):
        word_list.append(word_file_name)

for i in range(0,len(word_list)):
  try:
    word_file = wd.Documents.Open(documents_path + '/' + word_list[i])
    base_name, ext = os.path.splitext(word_list[i])
    #base_name,Par ext, l'extension est entrée dans ext et le nom du fichier est base_Stocké dans le nom
    word_file.SaveAs2(FileName = documents_path + base_name + '.pdf', FileFormat = 17)
    #Spécifiez le nom du fichier, le format(17 est PDF[https://docs.microsoft.com/ja-JP/office/vba/api/word.wdsaveformat])L'ensemble
  except Exception as e:
    print(e)
    #Stocker le traitement des exceptions autre que Try in e et afficher le cas échéant
  finally:
    word_file.Close()

print('complete')

Après de nombreux essais et erreurs, j'ai obtenu le code ci-dessus. Je pense que c'est assez redondant car c'est un débutant.

documents_path est pour la publication cette fois, il est donc défini comme test, Lors de son utilisation, spécifiez le chemin du dossier dans lequel le fichier Word est stocké.

Tâche

・ L'instruction for est incluse deux fois, et je voulais à l'origine la combiner en une seule. Dans l'instruction with, pywin32 ne fonctionnait pas bien, il est donc nécessaire de prendre des mesures d'amélioration à l'avenir.

-Essayez avec des modules autres que pywin32.

・ Nettoyez les pièces redondantes.

Essayez de créer le vôtre pour la première fois

Au départ, j'étais intéressé par python, et j'y ai travaillé, mais c'était la première fois que je terminais quelque chose. C'est peut-être une mauvaise idée pour les professionnels, mais j'aimerais m'habituer à écrire même le plus petit code. Il existe de nombreux domaines qui peuvent être améliorés en interne en utilisant l'automatisation, je publierai donc régulièrement les résultats de mes efforts sur Qiita sous forme de mémorandum.

Nous apprécierions toute amélioration ou conseil! Je vous remercie.

Recommended Posts

Les débutants essaient de convertir des fichiers Word en PDF à la fois
Convertir un mémo à la fois avec Python 2to3
Convertir des fichiers PDF en fichiers PNG avec GIMP
Convertissez plusieurs fichiers jpg en un seul fichier PDF
Conversion par lots de fichiers PSD du répertoire en PDF
Convertissez plusieurs fichiers proto à la fois avec python
Conversion par lots de fichiers image téléchargés vers MS Forms / Google Forms vers PDF
Convertir un PDF en documents par OCR
Convertir Markdown en PDF en Python
Convertir un PDF A4 en A3 toutes les 2 pages
Convertir des fichiers écrits en python, etc. en pdf avec la coloration syntaxique
Conversion de pdf en txt 2 [pyocr]
Convertissez un grand nombre de fichiers PDF en fichiers texte à l'aide de pdfminer
Convertir un PDF en image avec ImageMagick
[Aux messieurs sur Twitter] J'ai écrit un script pour convertir immédiatement .jpg-large en .jpg.
Convertir de PDF en CSV avec pdfplumber
Convertir un PDF joint en courrier électronique au format texte
Définissez Expire sur la clé Redis à la fois
One-liner qui crée un grand nombre de fichiers de test à la fois sous Linux
Créez une API pour convertir des fichiers PDF en images TIF avec FastAPI et Docker
Comment créer des fichiers volumineux à haute vitesse
Comment enregistrer toutes les photos Instagram à la fois
Convertir le fichier FBX en ASCII <-> BINARY en Python
Convertir un PDF en image (JPEG / PNG) avec Python
Effacez les fichiers image à la fois avec un seul support
Les débutants en IA essaient de faire des étudiants professionnels Bot
Convertir des fichiers CSV UTF-8 pour les lire dans Excel
Une commande pour mettre à jour automatiquement la bibliothèque pip dans un batch
Essayez de calculer RPN avec Python (pour les débutants)
[Petite histoire] Un moyen simple de convertir Jupyter en PDF
Enregistrer plusieurs styles personnalisés dans Word à la fois