PythonでPDFファイルを操作しよう!業務自動化・効率化で使える!!〜初心者向け〜 pypdf・reportlab

Pythonプログラミング VTuber サプー
17 Apr 202416:12

Summary

TLDRこのビデオでは、PythonのvtuberサプーがPDFを扱うためのライブラリーであるPiPDFについて紹介しています。PDFのデータ読み込み、分割、結合、画像抽出、テキスト書き込みなど、様々な機能を実演して業務の自動化効率化のヒントを提供します。必要なライブラリーのインストール方法や、PDFの操作に関する基本的なコード解説がわかりやすく説明されています。また、日本語のフォント設定や画像の挿入方法も紹介しており、PiPDFやレポートラボの他にも豊富な機能があることをウェブサイトのURLで確認できると呼びかけています。

Takeaways

  • 😀 この動画はPythonでPDFを扱うライブラリ「PiPDF」について紹介している。
  • 🔍 PiPDFを使用してPDFのデータ読み込み、ファイルの分割・結合、データ書き込みが可能であることがわかった。
  • 📚 データ読み込みとファイル分割・結合には「iPDF」ライブラリを使用する。
  • 🖋️ データ書き込みには「ReportLab」ライブラリを使うことが説明されている。
  • 👨‍💻 必要なライブラリをインストールする必要があると示されている。
  • 📁 アドビのPDFリーダーをインストールしておく必要があると触れられている。
  • 📝 PDFのテキストデータを読み込む方法や、ページの順序を保持するオプションについて説明されている。
  • 🖼️ PDF中の画像を抽出する方法が紹介されており、画像の保存方法も解説されている。
  • 📑 PDFファイルを1ページずつ分割し、新たなPDFファイルとして出力する方法が説明されている。
  • 🔄 複数のPDFファイルを1つのファイルにまとめる方法も紹介されており、具体的なコード例が示されている。
  • 🖌️ ReportLabを使用してPDFにテキストや画像を書き込む方法が解説されており、日本語の表示方法も触れられている。
  • 🌐 公式ウェブサイトでPiPDFやReportLabの詳細な情報を確認できる旨が示されている。

Q & A

  • サプーが紹介したPiPDFとは何ですか?

    -PiPDFはPythonでPDFファイルを扱うためのライブラリで、PDFのデータ読み込み、ファイルの分割・結合、PDFファイルへのデータ書き込みなどができる機能を提供しています。

  • PDFのテキストデータを読み込むにはどのようなライブラリが必要ですか?

    -PDFのテキストデータを読み込むためには、IPDFというライブラリを使用します。

  • PDFのテキストデータがレイアウトを保てない場合、どうすればよいですか?

    -テキストデータのレイアウトを保つためには、PiPDFのエクストラクトテキストメソッドの引数に「ExtractionMode.Layout」を設定する必要があります。

  • PDFファイルから画像を抽出するにはどうすればよいですか?

    -PDFファイルから画像を抽出するには、PDFリーダーのページオブジェクトからイメージズプロパティにアクセスし、イメージファイルオブジェクトのデータをファイルに書き込むことで実現できます。

  • PDFファイルを1ページごとに分割するにはどのような手順が必要ですか?

    -PDFファイルを1ページごとに分割するには、PDFライタークラスを使用して、各ページを個別のPDFファイルとして出力する必要があります。

  • 複数のPDFファイルを1つのPDFファイルにまとめるにはどうすればよいですか?

    -複数のPDFファイルを1つのPDFファイルにまとめるには、PDFライタークラスのアペンドメソッドを使って、各ファイルを順に結合していく必要があります。

  • PDFにデータを書き込むにはどのようなライブラリが必要ですか?

    -PDFにデータを書き込むためには、レポートラボ(ReportLab)というライブラリを使用します。

  • レポートラボを使ってPDFに日本語を書き込むにはどうすればよいですか?

    -レポートラボで日本語を書き込むには、標準のフォントである「ACR本体W5」を利用し、キャンバスオブジェクトのセットフォントメソッドでフォントを設定する必要があります。

  • PDFに画像を挿入するにはどうすればよいですか?

    -PDFに画像を挿入するには、キャンバスオブジェクトのドローイメージメソッドを使い、画像ファイルのパスと座標、横幅、縦幅を指定する必要があります。

  • サプーが紹介したPDF操作のライブラリはPythonの標準ライブラリですか?

    -紹介されたPiPDFやレポートラボはPythonの標準ライブラリではなく、別途インストールする必要があるサードパーティライブラリです。

Outlines

00:00

📄 PDF操作の紹介

この段落では、Pythonを使ってPDFファイルを操作する方法が紹介されています。PDFのデータ読み込み、ファイルの分割・結合、データの書き込みについて説明されており、使用するライブラリーはiPDFとReportLabです。経済産業省のウェブサイトからダウンロードしたPDFファイルを例に、ページのテキストデータの読み取りや画像の抽出方法が実演されています。また、テキストの順序が崩れることがある点に注意が喚起されています。

05:01

🖼️ PDF内の画像抽出とページ分割

この段落では、PDFファイルから画像を抽出する方法と、PDFをページごとに分割して別々のPDFファイルにする方法が説明されています。iPDFライブラリーを使ってページ内の画像を取得し、ReportLabライブラリーを使って1ページずつPDFファイルを出力しています。具体的なコード例とともに、ページごとのファイル名の付け方や、ページの順序を維持するための注意点が紹介されています。

10:03

🔄 PDFの結合とデータ書き込み

段落3では、複数のPDFファイルを1つのファイルにまとめる方法と、PDFにデータを書き込む方法が説明されています。PDFライタークラスを使ってファイルを結合し、ReportLabライブラリーを使ってPDFにテキストや画像を書き込みます。フォントの設定や座標指定による画像の挿入方法についても詳しく触れられています。

15:04

🌐 PDF操作ライブラリーの活用と今後の展望

最後の段落では、iPDFやReportLabライブラリーの他にも様々な機能があることを示唆し、公式ウェブサイトでの確認を促しています。また、PDFファイルに対する繰り返しの操作を自動化する可能性についても触れ、この動画の概要やURLが提供されています。最後に、次回の動画でお会いする旨の挨拶がされています。

Mindmap

Keywords

💡PDF

PDFとは「Portable Document Format」の略で、様々なデバイスやプラットフォームで同じように表示される文書形式です。このビデオでは、PDFを自動化や効率化するためのPythonライブラリを使用する方法が紹介されています。例えば、PDFの読み込み、テキストデータの抽出、画像の抽出、ページの分割や結合、そしてPDFへのデータ書き込みなどが行われています。

💡Python

Pythonは、非常に人気のあるプログラミング言語の一つで、簡潔で読みやすい構文が特徴です。このビデオではPythonを使用してPDFを操作する方法が説明されています。Pythonのライブラリを利用することで、PDFファイルをプログラムから簡単に操作することが可能です。

💡PiPDF

PiPDFはPythonでPDFを操作するためのライブラリの一つで、PDFの読み込み、ページの分割や結合、テキストの抽出などが行えます。ビデオではPiPDFを使用してPDFのデータ操作を実演しています。例えば、PDFリーダークラスを用いてテキストデータを抽出する場面が示されています。

💡レポートラボ

レポートラボはPythonでPDFにデータを書き込むためのライブラリで、PDFにテキストや画像を追加することができます。ビデオではレポートラボを使用して、PDFにテキストを書き込む方法が紹介されています。また、日本語のフォントを使用してPDFに日本語を書き込む方法も説明されています。

💡業務の自動化

業務の自動化とは、手動で行う必要のあるタスクを自動化することで、時間の節約や効率の向上を図ることを指します。ビデオではPDFの操作を自動化する方法が示されており、これにより繰り返し行う必要のあるPDF関連の業務を効率化することができます。

💡テキストデータ抽出

テキストデータ抽出とは、PDFなどのファイルからテキスト情報を抽出するプロセスです。ビデオでは、PiPDFのPDFリーダークラスを使用してPDFファイルのテキストデータを抽出する方法が紹介されています。これにより、PDFから必要な情報を迅速に取得することが可能です。

💡画像抽出

画像抽出とは、PDFファイルから画像を抽出するプロセスです。ビデオでは、PiPDFを使用してPDFファイル内の画像を抽出し、それらをファイルとして保存する方法が説明されています。これにより、PDF内の重要なビジュアル情報を再利用することが可能になります。

💡ページ分割

ページ分割とは、PDFファイルの各ページを個別のPDFファイルに分割するプロセスです。ビデオでは、PiPDFのPDFライタークラスを使用して、PDFファイルをページごとに分割し、それぞれのページを新しいPDFファイルとして出力する方法が紹介されています。

💡ファイル結合

ファイル結合とは、複数のPDFファイルを1つのPDFファイルにまとめるプロセスです。ビデオでは、PiPDFのPDFライタークラスを使用して、複数のPDFファイルを結合し、1つのPDFファイルとして保存する方法が説明されています。これにより、複数の資料を一つのファイルにまとめることができます。

💡データ書き込み

データ書き込みとは、既存のファイルに新しいデータを追加するプロセスです。ビデオでは、レポートラボを使用してPDFにテキストや画像を書き込む方法が紹介されています。これにより、PDFに動的なコンテンツを追加したり、既存のPDFを更新することが可能です。

Highlights

PythonでPDFを扱うためのライブラリーPiPDFの紹介

業務の自動化効率化のためのPDF操作のヒント提供

チャンネル登録とメンバーシップの紹介

PDFデータの読み込み方法の解説

IPDFライブラリーを使用したPDFの分割と結合

PDFファイルへのデータ書き込みに使用するレポートラボライブラリーの紹介

PDFのテキストデータ抽出のデモンストレーション

レイアウトを保つためのテキスト抽出オプションの説明

PDFファイル全体のテキストデータの取得方法

PDFファイルから画像を抽出する手順

PDFの1ページごとの分割と個別のPDFファイルへの出力

複数のPDFファイルを1つのファイルにまとめる方法

レポートラボを使用したPDFへのテキスト書き込みのデモンストレーション

日本語の表示に使用するフォントの設定方法

PDFに画像を挿入する方法の解説

PiPDFやレポートラボの他にも様々な機能がある旨の告知

公式ウェブサイトのURL提供

次回の動画でお会いするという結び

Transcripts

play00:00

こんにちはPythonvtuberの

play00:01

サプーです今回はPDFファイルを

play00:04

Pythonで扱えるPiPDFについて

play00:06

紹介したいと思います実際にPDFを使っ

play00:09

てどんなことができるか実演してるので

play00:11

業務の自動化効率化のヒントにしてもらえ

play00:14

たら嬉しいですこのチャンネルではpis

play00:17

に関する情報を発信してるのでよければ

play00:19

チャンネル登録よろしくお願いしますまた

play00:20

メンバーシップ会員しか見れない動画

play00:22

ライブもあるのでよければメンバーシップ

play00:24

のご検討もよろしくお願いし

play00:27

ます今回ご紹介するPDFの操作はPDF

play00:31

データの読み込みファイルの分割ファイル

play00:34

の結合とPDFファイルへのデータの

play00:37

書き込みですでデータの読み込みファイル

play00:40

分割ファイル結合で使うライブラリーはI

play00:43

PDFというライブラリーでデータ

play00:46

書き込みで使うライブラリーはレポート

play00:48

ラボというライブラリーですなので必要な

play00:51

操作に合わせてVIPインスーPiPDF

play00:54

やTPインストールレポートラボと

play00:57

あらかじめ使用するライブラリーを

play00:59

インストールしていくださいまたPDFを

play01:01

一覧するソフトアクロバットリーダーもお

play01:04

使いのPCにインストールしておき

play01:06

ましょうアクロバットリーダーはADの

play01:08

ホームページからダウンロードできるので

play01:10

検索して入れておきましょうでは早速実際

play01:13

に実演しながらPDFを扱うコードを解説

play01:15

していきます

play01:17

ねまず始めにPythonでPDF

play01:20

ファイルのデータを読み込む方法を説明し

play01:22

ます読み込む対象のPDFは経済産業省の

play01:26

ホームページからダウンロードして用意し

play01:27

ておきました内容はこんな感じになってい

play01:30

て全部で12ページありますねでこの

play01:33

ファイルからまずはテキストデータを

play01:35

読み取りたいと思いますfromPi

play01:38

PDFイーPDSreerでPDFリダー

play01:42

クラスをインポートしておきますでPDF

play01:46

リダークラスのオブジェクトリーダーを

play01:48

作成します引数に読み込み対象のPDF

play01:52

ファイルのバスを指定していますこうする

play01:54

とこのオブジェクトはここに指定した

play01:57

PDFファイルのデータを読み込んでその

play02:00

PDF情報を保持しているオブジェクトが

play02:02

作成されますこのリーダーのページズと

play02:05

いうプロパティにアクセスするとページ

play02:07

オブジェクトの仮想的なリストを取得でき

play02:09

ますイメージとしてはPDFの1ページ目

play02:13

にや対応するページオブジェクトが1つ

play02:15

あってそれが1つ目にPDFの2ページ目

play02:19

に対応するページオブジェクトが1つあっ

play02:21

てそれが2つ目にって感じでそれぞれの

play02:24

ページの情報を持つページオブジェクトが

play02:27

格納されているイメージですなので角括弧

play02:31

0とインデックスが0のデータを取得する

play02:34

と1番初めのページのページオブジェクト

play02:36

が取得できますこれをページという変数に

play02:39

代入しておきますでこのページ

play02:42

オブジェクトのエクストラクトテキストて

play02:44

いうメソッドを呼び出すとこのページの

play02:47

テキストを取得できますでこれをプリント

play02:49

文で表示してみますこのコードを実際に

play02:52

動かしてみる

play02:54

とこんな風にこのPDFの最初のページの

play02:59

テキストが取得できましたねインデックス

play03:02

を1に変更して次のページを同じように

play03:05

読み込んで表示してみますこれを実行して

play03:08

みる

play03:10

とこのように出力されたのですが実際の

play03:15

PDFのページはこんな風になっていて

play03:18

テキストが左側と右側に分かれているよう

play03:21

な場合データの順番が崩れてしまってい

play03:24

ます例えばここの2部って書かれている

play03:28

オレンジの部分がこんなところに書かれて

play03:30

いますもしもこのレイアウトを保つのよう

play03:33

にテキストを取得したかったら

play03:36

エクストラクトテキストの引数に

play03:38

エクストラクションモードレイアウトと

play03:41

いう風に設定してくださいこれをもう1度

play03:43

動かしてみる

play03:45

とこんな風に2部の部分が1部の右側に来

play03:51

てるのが分かりますねただテキストデータ

play03:53

としてはやっぱり読みにくい気がしますよ

play03:55

ねなのでテキストが縦のブロックで分れ

play03:58

てるようなドキュメントは文章の順序が

play04:00

一部変になってしまうことがあるかもしれ

play04:02

ないという点に気をつけてくださいまた

play04:04

このPDFファイルの全ページのテキスト

play04:07

データを取得する場合は公文でリストから

play04:10

ページオブジェクトを全て取り出して全て

play04:13

のページを読み込めばOKですこれを

play04:16

動かしてみる

play04:18

とこんな風に全てのページのテキストが

play04:21

取得できました今回は単にプリント分で

play04:25

出力しているだけですが例えばテキスト

play04:27

ファイルに出力したりパExcelで

play04:30

Excelに出力したりすることもでき

play04:32

ますね次にPDFファイルの中で使われて

play04:36

いる画像を抽出しようと思いますPDF

play04:39

リダーのオブジェクトを作成してさらに

play04:42

ページオブジェクトを取得する部分までは

play04:44

先ほどと同じですそしてページ

play04:46

オブジェクトのイメージズプロパティに

play04:49

アクセスするとイメージファイル

play04:51

オブジェクトの仮想的なリストを取得する

play04:53

ことができますイメージとしてはPDFの

play04:57

1ページ目にある1つ目の画像に対応する

play05:00

イメージファイルオブジェクトが1つあっ

play05:02

てそれが1つ目に2つ目の画像に対応する

play05:06

イメージファイルオブジェクトが1つあっ

play05:08

てそれが2つ目にって感じでイメージ

play05:10

ファイルオブジェクトが格納されています

play05:12

なので角括弧0とインデックスが0の

play05:16

データを取得すると1番初めのページの1

play05:19

つ目の画像に対応するページオブジェクト

play05:21

が取得できますこれをIMGという変数に

play05:24

代入しておきます画像の名前はイメージ

play05:27

ファイルオブジェクトのnameという

play05:28

プロパティにアクセスすると取得ができて

play05:31

画像のデータはイメージファイル

play05:33

オブジェクトのデータというプロパティに

play05:35

アクセスすると取得できるのでバイナリー

play05:38

として書き込むためのファイルをオープン

play05:39

してファイル名がイメージネームでデータ

play05:43

をイメージデータとしてファイルに

play05:46

書き込みますこれを動かしてみる

play05:48

とイメージ14というファイルが出力され

play05:52

てこのファイルを見てみる

play05:55

と経済産業省のログマークの画像が取得で

play05:59

できたのが分かりますねこのPDF

play06:01

ファイルの1番左上の画像になりますね1

play06:04

ページの中の画像を全部取得したい場合は

play06:08

公文でリストからイメージファイル

play06:10

オブジェクトを全て取り出して全ての画像

play06:12

を書き出せばOKです3ページ目には複数

play06:16

の画像があるのでこのページの画像を全て

play06:19

取得するためにインデックスを2にして

play06:22

実行してみると新しく画像ファイルがいく

play06:25

つか作成できましたね見てみると

play06:33

PDFの3ページ目の画像が一気に取得

play06:36

できたのが分かりますまたこのPDF

play06:39

ファイルの中の全部の画像を取得したけれ

play06:41

ばさらにこのページの部分を大分で回せば

play06:45

OKです

play06:46

ね次に1つのPDFファイルを1ページ

play06:50

ごとに分割して別のPDFとして出力する

play06:53

プログラムを作りたいと思います初めに1

play06:56

ページだけを出力してみます先ほどの

play06:59

PDFリーダークラスに加えてPDF

play07:01

ラタークラスもインポートしておきます

play07:04

先ほどと同じようにPDFファイルのパス

play07:07

を指定してPDFリーダーオブジェクトを

play07:09

作っておきますでさっきと同じように

play07:11

リーダーのページから1ページ目のページ

play07:14

オブジェクトにアクセスしてページという

play07:16

変数に代入しておきますこのページだけを

play07:19

別のPDFとして出力する場合はPDF

play07:22

ラタークラスのオブジェクトも作って

play07:25

ライターという変数に代入しておいてこの

play07:28

ライターのページメソッドを呼び出して

play07:31

引数にページオブジェクトを指定します

play07:34

そしてライターオブジェクトのRight

play07:36

メソッドの引数に出力先のパスを指定する

play07:39

ことでPDFファイルとして出力すること

play07:41

ができますファイル名は一旦output

play07:44

.PDFとしておきます最後にラターの

play07:48

クローズメソッドを呼び出してクローズを

play07:50

しておきますこれを実際に動かしてみる

play07:53

とoutput.PDFというファイルが

play07:57

出力されてこのファイルの中身を見てみる

play08:00

とこんな感じで1ページ目だけを1つの

play08:03

output.PDFというファイルに

play08:05

出力することができたのが分かりますね

play08:07

全てのページに対して1つずつページ分割

play08:11

したファイルを出力したい場合はリーダー

play08:13

のページズを分で回して全ページに対して

play08:18

それぞれ同じ処理をすれば良いのですね

play08:20

ライターを作るところからクローズする

play08:22

までの1連の流れを公文の中に入れます

play08:26

ファイル名を連番するためにイニレートを

play08:28

使ってインデックス番号を取得しておき

play08:30

ましょうファイル名は文字列埋め込みの0

play08:33

埋めを使ってアウトプットの後ろにたの

play08:37

数値が入るようにしておきますこれを実行

play08:39

する

play08:41

とこんな風に12個のPDFファイルが

play08:44

出力できてそれぞれ1ページ目2ページ目

play08:48

3ページ目4ページ目と1ページずつ分割

play08:52

することができました今度は逆に複数の

play08:55

PDFを1つのPDFファイルにまとめて

play08:58

みたいと思います

play09:00

最初のファイルをエネルギー白書の

play09:02

2020年2021年2022年2023

play09:07

年の4ファイルとしてこれらを1つに

play09:10

まとめたいと思いますこのpdfsという

play09:13

フォルダーにファイルを入れておきます

play09:15

先ほどと同じようにPDFライターを

play09:18

インポートしてPDFライタークラスの

play09:21

オブジェクトを作ってライターという変数

play09:23

に代入しておきますあとはラター

play09:26

オブジェクトのアペンドメソッドを使って

play09:29

都合したいファイルのパスを文字列で指定

play09:31

していきます複数回アペンドを呼び出し

play09:34

たらいいんですがその前にpdfsという

play09:37

フォルダーの中にあるファイルの一覧を

play09:39

リストで取得したいと思いますマリブと

play09:42

いう標準ライブラリーを使用していきます

play09:45

パリのパスクラスをインポートしてパス

play09:48

オブジェクトを作ったらイテレータで

play09:52

ファイル一覧を取得してソーテ関数で相当

play09:56

してPDFファイルズという変数に代入し

play09:59

ていきますあとは法文でそのレストを回し

play10:02

て1つずつアペンドで結合していきます

play10:06

最後にライターのライトメソッドで

play10:08

書き出してクローズしますこれを実行して

play10:11

みるとマジドPDFが出力されて中身を

play10:16

確認するとエネルギー白書の2020年版

play10:20

から

play10:22

2021

play10:23

20222023と4つのファイルが

play10:27

ちゃんと1つのファイルに結合できてるの

play10:29

が分かります

play10:31

ね最後にPDFにデータを書き込む方法を

play10:35

説明しますPDFにデータを書き込む時は

play10:38

レポートラボというライブラリーを使い

play10:40

ますまずレポートラボのPDFGの

play10:43

キャンバスのキャンバスクラスを

play10:45

インポートしておきますでこのキャンバス

play10:48

クラスのオブジェクトを作成したらCと

play10:51

いう変数に代入しておきますこの時の引数

play10:54

に書き出し先のPDFファイルのパスを

play10:56

指定しますこれは今存在しないPDF

play11:00

ファイルのパスを指定してくださいもしも

play11:02

存在しているPDFファイルのパスを指定

play11:04

すると今から作るデータで上書きされて

play11:07

しまうので気をつけましょう今回は

play11:09

アウトプットPDFとしますこの

play11:12

キャンバスオブジェクトがPDFの1

play11:14

ファイルだと考えてくださいこのPDFに

play11:17

文字を書き込むにはキャンバス

play11:19

オブジェクトのドローストリングという

play11:22

メソッドを呼び出します第1引数にx座標

play11:25

第2引数にy座標を指定して第3引数に

play11:28

書き込みたい文字列を指定しますx座標と

play11:31

y座標はページの1番左が00地点ですな

play11:36

ので例えばXが10Yが800の地点に

play11:41

Pythonvtuberサプていう文字

play11:43

を書き込む場合はこのような形になります

play11:46

でこの内容で1ページ目に書き込みを完了

play11:49

したかったらキャンバスオブジェクトの小

play11:52

ページというメソッドを呼び出します最後

play11:54

にこの内容でファイルを保存したい場合は

play11:58

キャンバスオブジェクトののセーブ

play12:00

メソッドを呼び出しますこれを動かして

play12:02

みるとoutput.PDFという

play12:05

ファイルが出力されてこの内容を見てみる

play12:07

と1ページ目の左上にIONvtuber

play12:11

と書かれていますがsapoという日本語

play12:14

の部分が黒い四角の表記になってしまって

play12:17

いますね日本語のフォントを設定すること

play12:19

で日本語も表示できるようになります

play12:22

レポートラボには標準で民長体フォント

play12:26

衛星民W3とゴシックフォントAC覚5W

play12:31

5が用意されていますフォントファイルを

play12:33

読み込んで設定することもできるんですが

play12:36

今回は標準で用意されているcosicの

play12:38

フォント平成覚悟W5を使っていこうと

play12:42

思いますレポートラボのPDFベースの

play12:45

PDFmetrixとレポートラボの

play12:48

PDFベースのcidフツのunic

play12:52

cidフォントをインポートをしておき

play12:54

ますPDFmetxのレジスターフォント

play12:58

を呼び出してを使えるように登録できるの

play13:00

ですがこの引数にユニコードcid

play13:04

フォントクラスのオブジェクトを指定し

play13:06

ますこのオブジェクトの作成の引数に

play13:09

フント名括5W5を文字列で指定しますで

play13:14

キャンバスオブジェクトのセットフォント

play13:16

を呼び出す時に第1引数に平成覚悟W5を

play13:21

文字列で指定して書き込むフォントをここ

play13:23

で設定します第2引数にはフォントサイズ

play13:27

を指定します今回は16にしておきます後

play13:30

のコードは同じですこれを実行してみる

play13:34

とアウトプットPDFが出力されてもう

play13:38

1度この中身を見てみると今度はちゃんと

play13:41

サプーという日本語が出力されましたね

play13:44

また開業したい場合はキャンバス

play13:46

オブジェクトのシページを呼び出した後に

play13:49

さらにドローストリングで文字を書き込め

play13:52

ます例えばこんな風に1ページに

play13:55

Pythonvtuberサ1ページ目

play13:58

その下にはこれはテストデータですで

play14:01

書き込んだら小ページで1ページ目を決定

play14:04

してでここからが2ページ目なのでセット

play14:08

フォントで同じようにフォントを設定して

play14:10

からPythonvtuber2ページ目

play14:13

その下にこれもテストページですで

play14:16

書き込んでこれを小ページで2ページ目を

play14:20

決定して最後にセーブで保存しますこれを

play14:24

実行してみてでまた出力された

play14:27

アウトプットPDを見てみると合計で2

play14:31

ページあって1ページ目にちゃんとコード

play14:34

上に書いた文字が出力されてい

play14:37

て2ページ目にもちゃんと先ほどコード上

play14:40

に書いた文字が出力されていますねあとは

play14:43

画像を入れるにはキャンバスオブジェクト

play14:45

のドローイメージを使います例えばこんな

play14:48

サプーのアイコンICON.pngという

play14:52

ファイルがあった時にドローイメージの

play14:55

メソッドの第1引数に画像ファイルのバス

play14:59

第2引数にx座標第3引数にy座標を指定

play15:03

して第4引数には横幅第5引数には縦幅を

play15:08

指定できます座標は画像の左下が基準に

play15:11

なっているのでxが10Yが

play15:14

660縦横を100にしてこのように設定

play15:18

しておきますこれを実行してアウトプット

play15:22

.PDFを確認してみると1ページ目に

play15:26

ちゃんとサプーのアイコンが載っています

play15:28

ねこんな感じでテキストや画像を

play15:31

プログラムを通してPDFに書き出すこと

play15:33

ができます大量のPDFファイルに対して

play15:36

何か繰り返しの操作をしたいケースなどで

play15:39

iPDFやレポートラボで操作を自動化

play15:42

できないか検討してみて

play15:44

くださいまた今回紹介したPiPDFや

play15:47

レポートラボは説明した以外にも様々な

play15:50

機能があるので気になる方は公式サイトの

play15:53

方を確認してみてください概要欄にURL

play15:56

を貼っておきますねそれではまた次回の

play15:58

動画でお会いしましょうバイバイ

play16:08

[音楽]

Rate This

5.0 / 5 (0 votes)

Related Tags
PythonPDF操作業務効率化自動化プログラミングレポートラボPiPDFPDF分割PDF結合テキスト抽出
Do you need a summary in English?