画面レイアウト
機能解説
【重要】
基本的に同一フォルダにて作業を行います。アクセス権限があるフォルダで作業を行ってください。
ファイル操作
1.PDFを開く
ファイル選択ダイアログで、テンプレートとなるPDFファイルを選択してください。
2.PDF出力
ファイル保存ダイアログで、出力先を指定します。
保存後、自動的に出力したPDFファイルを開きます。
3.入力読込
4で作成した図形情報(csv)を読み込みます。
その場合、PDF名と同じファイルにしてください。
PDF名)ゼロワンスクール入会書_サンプル.pdf
CSV名)ゼロワンスクール入会書_サンプル.csv
4.入力保存
7で作成した図形情報をcsvへ保存します。
特にダイアログ等は発生しません。同一フォルダへ作成されます。
CSV名)ゼロワンスクール入会書_サンプル.csv
5.クリア
読み込んだ情報や、図形情報をクリアします。
ページ切り替え
6-1.prev
前のページヘ遷移します。
6-2.next
次のページヘ遷移します。
図形描画
ボタンを押すと、描画モードが固定され、canvasへ描画出来ます。
もう一度ボタンを押すと、描画モードが解除されます。
描画したオブジェクトの座標は、5ピクセル以下は切り捨てられます。
7-1.四角
四角をcanvas上に描画できます。
(9-1)描画色の設定が適用されます。
7-2.線
線をcanvas上に描画できます。
(9-1)描画色の設定が適用されます。
7-3.円
四角をcanvas上に描画できます。
(9-1)描画色の設定が適用されます。
7-4.文字
文字をcanvas上に描画できます。
(9-1)描画色の設定が適用されます。
(9-2)フォントサイズの設定が適用されます。
(9-3)PDF出力時に、フォントサイズ補正の設定が適用されます。
8.一つ戻す
描画モードの一番最後の図形を削除します。
図形情報
9-1.描画色
Pythonで使用できる色を入力してください。
例)blue,red,yellow など
9-2.フォントサイズ
入力するフォントサイズが変わります。
9-3.フォントサイズ補正
全体的なフォントサイズが補正されます。
canvas上のフォントサイズとPDF描画時にフォントサイズのズレを補正します。
PDF上でのフォントの大きさが異なる場合に使用してください。
一括処理
10.バッチ処理csv
入力読込→PDF出力を、csv分一括で実施します。
全て読込PDFファイルと同じディレクトリで行います。
同様に、PDF名と同じファイルにしてください。
CSV名)ゼロワンスクール入会書_サンプル%(ここに任意の情報)%.csv
例)
CSV名)ゼロワンスクール入会書_サンプル_M001.csv
CSV名)ゼロワンスクール入会書_サンプル_M002.csv
CSV名)ゼロワンスクール入会書_サンプル_M003.csv
CSV名)ゼロワンスクール入会書_サンプル_M004.csv
(一括処理) ↓
PDF名)ゼロワンスクール入会書_サンプル_M001.pdf
PDF名)ゼロワンスクール入会書_サンプル_M002.pdf
PDF名)ゼロワンスクール入会書_サンプル_M003.pdf
PDF名)ゼロワンスクール入会書_サンプル_M004.pdf
その他
11.終了
プログラムを終了します
12.ヘルプ
このページヘ遷移します。
13.canvas
読み込んだPDF、図形情報を描画します。
基本的な使い方(初回)
1.PDFを開く
↓
7-4.文字
↓
4.入力保存
↓
2.PDF出力
基本的な使い方(2回目以降)
1.PDFを開く
↓
3.入力読込
↓ ↑
(画面上微調整、またはcsvデータを編集)
↓
4.入力保存
↓
2.PDF出力
業務的な使い方
1.PDFを開く
↓
7-4.文字
↓
4.入力保存
↓
(csvデータを複数作成 ※ネーミングルールあり)
↓
10.バッチ処理csv
CSVレイアウト
CSVとは、カンマ区切りでデータが出来ているファイルです。
次の情報を含めたcsvファイルを使用してください。
・UTF-8
・BOM付き
・ダブルコーテーション無し
1行目は、ヘッダ行となります。
読み込み時に1行目はSkipします。
2行目から必要なデータを入力します。
列数 | ヘッダ名 | 説明 | データ例 |
---|---|---|---|
1 | page | ページ番号 | 1 |
2 | obj | 図形情報 | Line,Rect,Arc,Text |
3 | x1 | 左上のx座標 | 50 |
4 | y1 | 左上のy座標 | 50 |
5 | x2 | 右下のx座標 | 200 |
6 | y2 | 右下のy座標 | 100 |
7 | text | 文字列 | ゼロワンスクール太郎 |
8 | fsize | フォントサイズ | 15 |
9 | color | 図形の色 | black |
10 | font_core | フォント補正 | 2 |
page,obj,x1,y1,x2,y2,text,fsize,color,font_core
1,Text,190.0,170.0,235.0,185.0,2022,12,black,2
1,Text,260.0,170.0,280.0,185.0,06,12,black,2
1,Text,310.0,170.0,330.0,190.0,13,12,black,2
1,Text,170.0,225.0,405.0,245.0,署名 太郎,12,black,2
1,Text,170.0,195.0,265.0,215.0,ショメイ タロウ,12,black,2
1,Text,175.0,260.0,440.0,285.0,東京都台東区谷中1-2-3-4-5,12,black,2
1,Text,175.0,300.0,415.0,320.0,1234-4567-8910,12,black,2
1,Text,175.0,335.0,620.0,355.0,shomei_taro@shomei_shomei.mo.jp,12,black,2
1,Text,175.0,445.0,430.0,465.0,署名 二郎,12,black,2
1,Text,175.0,420.0,355.0,435.0,ショメイ ジロウ,12,black,2
1,Text,175.0,505.0,465.0,530.0,署名第9小学校,12,black,2
1,Text,175.0,485.0,340.0,500.0,ショメイダイキューショウガッコウ,12,black,2
1,Text,180.0,545.0,230.0,565.0,2012,12,black,2
1,Text,260.0,545.0,280.0,560.0,09,12,black,2
1,Text,310.0,545.0,330.0,565.0,12,12,black,2
2,Text,495.0,850.0,535.0,865.0,2022,12,black,2
2,Text,565.0,850.0,585.0,865.0,06,12,black,2
2,Text,610.0,850.0,630.0,865.0,13,12,black,2
2,Text,495.0,885.0,630.0,905.0,署名 太郎,12,black,2
1,Line,475.0,625.0,475.0,650.0,,,black,
1,Line,475.0,650.0,535.0,650.0,,,black,
1,Line,505.0,625.0,595.0,625.0,,,black,
1,Line,475.0,715.0,475.0,740.0,,,black,
1,Line,475.0,740.0,595.0,740.0,,,black,
1,Line,600.0,620.0,600.0,710.0,,,black,
1,Line,600.0,705.0,510.0,705.0,,,black,
1,Line,510.0,705.0,510.0,680.0,,,black,
1,Line,510.0,675.0,475.0,675.0,,,black,
1,Line,565.0,645.0,565.0,680.0,,,black,
1,Line,565.0,680.0,540.0,680.0,,,black,
1,Rect,480.0,810.0,575.0,905.0,,,black,
1,Arc,495.0,540.0,530.0,565.0,,,black,
※フォントサイズ補正は、初回に読み込んだTextレコードから取得します。
ソースコード、ダウンロードはGitから
【重要】
画面ディスプレイの解像度をフルHD(1920x1080)を想定して作成しております。
ここからダウンロードできますが、環境設定が必要となります。
https://github.com/kinjoarata/PDFEditor2/tree/main/PDFEditor2
関連記事(全4個)
PythonでPDFの上に文字とか乗っけるアプリを作った!-1.はじめに、成果物紹介-
https://qiita.com/ArataKinjo/items/1e83810623ee15259b0a
PythonでPDFの上に文字とか乗っけるアプリを作った!-2.機能説明-
(この記事です)
PythonでPDFの上に文字とか乗っけるアプリを作った!-3.ソースコード解説-
https://qiita.com/ArataKinjo/items/c92b4637c44f2bf574e3
PythonでPDFの上に文字とか乗っけるアプリを作った!-4.今後について-
https://qiita.com/ArataKinjo/items/c71492569bd9bb76d092