わかりました｡
どうだった？
うまくいけば､ 解決できたはずです｡
そうでなくても､ ご安心ください｡
これが解決策です｡
ここでは､ パイPDFのインポートをそのままにして､ 一からやり直すことにします｡
まず最初に､ これから加工するこの超ド級のPDFを手に入れたいと思います｡
そこでもう一度､ テンプレートと呼ぶことにして､ このテンプレートがπpdfになります｡
ここでは､ PDFファイルリーダーオブジェクトを使用します｡
そして､ 実際に今までの方法で開くのではなく､ ちょっとしたショートカットを紹介します｡
この内側で「オープン」と言えばいいのです｡
そして､ super dot pdfと言い､ それを開くのです｡
第2パラメータをバイナリ読みした状態｡
ただ､ このように｡
ファイルリーダーを作成することになりました｡
さて､ この方法と､ 以前紹介した方法とがあります｡
これは､ 私が気に入って使っている､ よりすっきりした構文です｡
次のページ
また､ 透かしのpdfを開きたいので､ 透かしとします｡
そしてまた､ 同じものを使うのです｡
そこで､ ファイルリーダーと言って､ スーパーpdfを開くのではなく､ ウォーターマークpdfを開くことにします｡
そして､ 最後に自分のアウトプットを書いて､ この2つを組み合わせられるようにしたい｡
だから､ アウトプットイコールと言うことになる｡
そして､ πと言うことになります｡
PDF Dot pdfファイルライター｡
右のオブジェクトをメモリ上に作成する｡
今度はここから｡
これがやっかいなところです｡
理想は､ テンプレートのここのページをループして､ 透かしを追加することです｡
今､ 私たちは､ スーパードットPDFが何ページあるのかを知るつもりはありません｡
つまり､ このプログラムを変更して､ ここにあるコマンドラインを使ってファイルを与えるようにしたいのです｡
しかし､ 理想を言えば､ 与えられたPDFが何ページあっても処理できるような､ 柔軟性のあるプログラムを作りたいものです｡
これから行うのはforループで､ 必要なら関数も作成します｡
しかし､ 今のところ､ これは1ブロックのコードに過ぎないので､ 関数なしでそのままにしておくことができます｡
そして､ このファイルがどのくらいの大きさになるか分からないので､ 範囲内のIのためにと言うことにします｡
そして､ これから言うことは､ テンプレートドットゲットです｡
痺れるようなページ｡
Get nom pagesは､ テンプレートのページ数を教えてくれます｡
前のレッスンでnumbページの言い方も見ていますが､ 違うことを示すためにget numb pagesを使うことができるのを覚えておいてください｡
今度はページ数を取得するんですね｡
このオブジェクトから範囲オブジェクトを作成し､ その範囲内をループさせるのです｡
つまり､ 5ページあれば5回ループすることになるわけです｡
さて､ ここでできることは､ ページ・オブジェクトを持つことです｡
そこで､ テンプレートと言い､ 今いるインデックスでページを取得することにします｡
これは毎回､ 初回は1ページ目､ 2ページ目､ 3ページ目､
4ページ目と､ すべてを通過するように取得するわけです｡
そして､ これが私たちのページオブジェクトになります｡
次のページ
これから行うのは､ ページドットマージページと言うことです｡
そして､ このマージページは､ 単に透かしのドットがページ2のインデックスをゼロにするつもりです｡
なぜなら､ ウォーターマークpdfにはその1ページしかウォーターマークが入っていないからです｡
そこで､ そのページにマージする､ 透かしを｡
ここで､ 私はPDFファイルの結合を使用しなかったことに注意してください｡
ひとつのプロジェクトを終えたとき｡
でも､ どちらを使ってもいいんです｡
私のページでここにキーは､ 私は別のマージページが実際によく我々は透かしで欲しいようなページをマージした後にファイルを1つを結合するPDFファイルの合併が好きだということです｡
さて､ このようなことは､ 自分で演習をしようとすれば､ ドキュメントを読み込まなければならなかったはずです｡
繰り返しになりますが､ その筋肉を鍛えるしかないのです｡
最後に､ ページができたので､ 出力と言って､ PDFライターを用意します｡
出力されるのは広告ページです｡
そして､ 統合したこのページを追加していきます｡
そして､ 最後に､ ここでできることは､ オープンで言うことです｡
そして､ この新しいPDFを､ 透かし入りと呼ぶことにしましょう｡
出力します｡
ドットpdf｡
と言うことにしています｡
そうですね､ バイナリですね｡
と呼ぶことにしています｡
では､ 出力ドットを正しく実行してこのファイルを書き込むと､ どうなるか見てみましょう｡
自分のプログラムを実行する
そして､ どこにも行かず､ そこにいる｡
では､ 効果があったかどうか見てみましょう｡
電子透かしが入った出力があることがわかります｡
さて､ 繰り返しになるが､ これは失言である｡
でも､ これを開けば
確認してみてください｡
私たちのPDFファイルがあります｡
2ページ目､ 3ページ目､ そして4ページ目にもローテーションでこちらの原稿を掲載しています｡
なんてかっこいいんでしょう｡
PDF Water Markerを作成したところです｡
とてもシンプルでしたね｡
繰り返しになりますが､ もしこれが分かりにくくて､ 「おい､ アンドレ､ 俺はこれを理解してないぞ､ 俺はダメなプログラマーなのか？
いいえ､ そんなことはありません｡
これは非常に図書館に特化したレートです｡
面接でこの構文を正確に聞かれることはないでしょう｡
その代わり､ ページをマージしたいドキュメントを読むのです｡
あるライブラリの公式ドキュメントでmerge pageのようなものをググると､ ここにmerge pageがあることがわかるんです｡
Mergeページが何をするのか､ 私たちは見ることができます｡
そうそう｡
2つのページのコンテンツストリームを1つに統合する｡
よし､ これでいいんだ｡
だから､ それを使っているんです｡
そして､ 実際に使えるプロジェクトができるまで､ 何度も何度も実験するのです｡
そこにあるのは
ハリウッドでは通用しない｡
おめでとうございます｡
次の動画でお会いしましょう｡
バイバイ｡