Python初心者がChatGPTとGoogle Colaboratoryでコード書いた話2
前回の話
前回 やったことは
A3以上の資料で奇数ページだけスキャン、偶数ページだけスキャンしたのを
本みたいに読めるようにした
Scansnapは便利だけど、
うっかりすると面倒に
Scansnapってご存知?
紙ものの名刺とか学校、役所、自治会で配られる紙ものをPDFにする
スキャナーのこと
我が家はScansnapが好きでix500とSV600の二台持ち
どっちも型が古いかもしれないけど、問題なく使えています。(2024年現在
ix500はコピー複合機のスキャナーみたいな
裁断した本や、同じ形の紙、幅が同じ長さのレシートを読み取るのに適してて
SV600は上から読み取る用のスキャナーで、
見開きA3サイズの裁断してない本や、形が一枚一枚違う名刺やリーフレット、子どもの絵とか読み取るのに適してる
この前、SV600で学校のアルバムをスキャンしてPDFで見ようとしたら
うっかり、右綴じと左綴じを間違えて設定してたみたいで
ページ順がごちゃごちゃに(・・;)
あちゃー
もう一回スキャンするのは面倒なので、どうにかこうにかしたい
https://www.pfu.ricoh.com/scansnap/products/sv600/
https://www.pfu.ricoh.com/scansnap/products/ix500/
PDF 左綴じを右綴じにしよう
前回とおんなじかんじなんだけど、
今回したいのは、
Scansnap(スキャナー)で取り込んだPDF
右綴じの本を
(誤)左綴じの並び替えにしてしまったので、
(正)右綴じの並び替えに直そうってこと
scansnap専用アプリでも直せなかったりするので、
PythonとGoogle Colaboratory使って、PDFの入れ替えしたことを思い出してリベンジ
Google Colaboratoryひらく
Google Colaboratoryで検索して開く、アカウントログインされてるから前回のデータもあるね。
PDFをどうにかこうにかしたいときは
PyPDF2っていうのをインストールするんだっけね
pip install PyPDF2
+コードして、入力、再生ボタンマークを押す
これは問題なく、12秒で終わった
Chat-GPTにきいてみよう
ざっくりと
「PDFの並び替えをPythonでやってほしい 奇数ページを偶数ページの場所へ移動できますか」と聞いてみたのを入れてみる
こんな言い方であってるのか うーん(・・;)
とりあえず、作ってくれたコードはこれ
import PyPDF2
def reorder_pdf(input_path, output_path):
# PDFファイルを読み込む
with open(input_path, 'rb') as file:
pdf_reader = PyPDF2.PdfReader(file)
total_pages = len(pdf_reader.pages)
# ページを奇数ページと偶数ページに分ける
odd_pages = [pdf_reader.pages[i] for i in range(total_pages) if i % 2 == 0] # 奇数ページ(0, 2, 4,...)
even_pages = [pdf_reader.pages[i] for i in range(total_pages) if i % 2 == 1] # 偶数ページ(1, 3, 5,...)
# 奇数ページを偶数ページの場所に移動し、新しい順序を作成
new_order_pages = []
max_length = max(len(odd_pages), len(even_pages))
for i in range(max_length):
if i < len(even_pages):
new_order_pages.append(even_pages[i])
if i < len(odd_pages):
new_order_pages.append(odd_pages[i])
# 出力PDFファイルを作成し、新しい順序でページを追加
with open(output_path, 'wb') as output_file:
pdf_writer = PyPDF2.PdfWriter()
for page in new_order_pages:
pdf_writer.add_page(page)
pdf_writer.write(output_file)
if __name__ == "__main__":
input_pdf_path = "input.pdf" # 入力PDFファイルのパス
output_pdf_path = "output.pdf" # 出力PDFファイルのパス
reorder_pdf(input_pdf_path, output_pdf_path)
Google Colaboratoryに早速入れて
input_pdf_path = "input.pdf" # 入力PDFファイルのパス だっていうから
学校のアルバムPDFを一時的にinput.pdfに変更して
Colaboratoryのファイルマークのところにぽいっと入れてみる
緑の丸出てきて 読み込んでるっぽい。 丸が消えたらオッケー
そのまま実行してみよう
コード部分の再生ボタンを押す
from google.colab import drive
drive.mount('/content/drive')
ファイルマークのところにoutput.pdfが出てくるまで、しばらく待つ
F5キーで更新
output.pdfが出たので、ダウンロード
ローカルファイルのダウンロードファイルに入る
お!一発クリア
一発クリア!思い通りのものが出ました~
左がinput.pdf 右がoutput.pdf
そうそう!これが欲しかったんだよ!
前回はめちゃくちゃエラー出てたので、またGPTに意味を聴くのかなと思っていたけど、すんなり思い通りになりました。
以上、Python初心者がChatGPTとGoogle Colaboratoryでコード書いた話2でした~
ありがとうChatGPT!
ありがとうGoogle Colaboratory!
ありがとうPython!!!!
また、PDFでなにか困ったら頼むぞ。
退屈なことはPythonにやらせよう
面倒なことはchatgptにやらせよう って本読みはじめようかな~
この記事が気に入ったらサポートをしてみませんか?