pyton 初心者です。
<前提>
・カレントディレクトリのなかに’image_file'フォルダ、’finish_file'フォルダを作成しております。
・’image_file'フォルダは複数の画像ファイル(png)があります。
<実現したいこと>
・新規の白紙のPDFを作成して、’finish_file'フォルダに格納したいです
・新規の白紙のPDFのファイル名は、’image_file'フォルダの画像ファイル名と同じにしたいです
・作成したPDFの本文に、フィル名を記載したい
<やったこと>
・glob.glob 関数で各pngファイルの取り出して、Canvas関数を使用してPDFを作成
・現状のコードですと、新規作成されたPDFがカレントディレクトリに保存されます
pdf = canvas.Canvas(file_name+".pdf", pagesize=A4)
・そのため、下記のように保存先のディレクトリを指定しましたがエラーがでてしまい。保存できませんした
pdf = canvas.Canvas('./finish_file'/file_name+".pdf", pagesize=A4)
エラーメッセージ
TypeError: unsupported operand type(s) for /: 'str' and 'str'
ほかに下記のように書き換えなどをしてみましたがうまくいきませんした。
pdf = canvas.Canvas('./finish_file'/'str(file_name)'+".pdf", pagesize=A4) pdf = canvas.Canvas('./finish_file'+'/'+ file_name +".pdf", pagesize=A4)
保存先の設定についてアドバイスをいただけますと幸いです
コードになります
#PNGからNEWPDFを作成 from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import A4 from reportlab.lib.units import mm import glob import os from pdfrw import PdfReader from pdfrw.buildxobj import pagexobj from pdfrw.toreportlab import makerl from reportlab.pdfgen import canvas from reportlab.pdfbase.cidfonts import UnicodeCIDFont from reportlab.pdfbase import pdfmetrics from reportlab.lib.units import mm from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import A4,portrait from reportlab.pdfbase import pdfmetrics from reportlab.pdfbase.ttfonts import TTFont from pathlib import Path def my_func(filename): pdfmetrics.registerFont(TTFont("HGRGE","C:/Windows/Fonts/HGRGE.TTC")) in_path = x #PNGを読み込む file_name=os.path.splitext(os.path.basename(in_path)) file_name=file_name[0] #file_name=str(file_name) # PDFを作成 #pdf = canvas.Canvas(file_name+".pdf", pagesize=A4) pdf = canvas.Canvas('./finish_file'/'file_name'+".pdf", pagesize=A4) pdf.setFont("HGRGE",10) # 文字を挿入。 target_x, target_y = 10*mm, 290*mm pdf.drawString(target_x, target_y,str(file_name)) # PDFの保存 pdf.save() for x in glob.glob('./image_file/*.png'): my_func(x)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/04 00:38