CAD日記

主にAutoCADのことについて書いているけど、近頃は投資系ネタに注力している。自動売買、仮想通貨、PC関係、プログラミングなど。@caddiary

雑感

PDFへの捺印をpdfでするだけでなくpng画像でもできるようにしたPDFアレコレを公開

投稿日:

昨日に引き続き今日もPDFアレコレをバージョンアップ。変更点は以下の通り。

Ver2.03 2020/3/22
・捺印データとしてpng画像に対応した。
・捺印時にマウスカーソルにプレビューデータを表示するようにした。
 (pngは指定したファイルのプレビュー。pdfは円だけで少々ずれる。)

pngで捺印する処理は以下の通りで、pdfの場合とちょっとちがう。

画像ファイルにはDPI値(解像度)が入っていることもあるが、入っていないこともある。解像度があれば物理的な大きさ(つまり何ミリかってこと)がわかるから、印影を何ミリにするかって指定が不要になるんだけどねぇ。よって、解像度がない前提で印影は12ミリ固定とした。解像度があるかどうかで処理を分岐するのが今後の課題。
pngでもう一つ重要なのは透過ができること。捺印するんだから印影の背景は透明である必要がある。BitmapやJpegでは透過ができないから、透過ができるpngで実現することにした。印影は、Web認印で作成できて、結果としてpdfとpngができる。pdfは透過できるんだけど、なにぶんサイズがデカい。印影用のフォントpdfに埋め込んでいるからだろう。そのデカさが問題で4MBはまずい。1つ捺印するごとに4MBずつ増加したんじゃ実用に向かない。だからpngなわけだけど、Web認印でできるpngは透過されていない。そこで、印鑑透過が必要になる。透過されていない元画像をアップロードすると、透過された状態のpngが取得できる。これはすぐれもので、ちゃんと周囲の空白まで除去してくれている。

マウスカーソルに印影のプレビューを配置するコードも書いておく。pictureBoxのImageに画像データを読み込んで、タイマー処理でマウスカーソル位置にくっつけるというもの。MouseMoveだと遅くてしょうがないから、タイマー処理が吉。InterValを10ミリ秒にしても、マウスがサクサク動いてくれた。

pdfを指定した場合に、配置される印影が少しずれるのは、pdf内の中央に印影がないため。右上にずれているから、配置した点よりも右上に配置されてしまう。pdfだから容易に編集できない。空白を無視した領域の中央で認識させればいいんだろうが、現状pdfの用紙サイズでしか認識していない。pdfでオブジェクト範囲を認識できればいいのだができるだろうか。これも今後の課題。pdfで配置している限りは、元pdfのサイズ分増えてしまうという問題もある。pdfから透過pngを作るところまで自前でやってしまうのもありか。。pdfの画像変換だって、現状やっているんだからきっとできる。課題がどんどん出てきて、いいんだか悪いんだか。

-雑感

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

朝の空気が秋になってきた。 昼間は相変わらずの猛暑。 夜もやっぱり暑くて汗だらだら。 病み上がりの体調で、何だかすがすがしい。 激烈に痛んでいた肩は、7割方なおり、 キーボード操作が楽になってきた。 …

2019年6月規制前に「さのちょく」でふるさと納税した

去年は「佐賀県みやき町」に10万円寄付して、4万円分のAmazonギフトカードをゲットしていた。今年は年内にどうすればいいかを決めればいいと思っていたところ、6月に返礼品についての規制が入ることになっ …

no image

山手線の内回りと外回り

山手線には内回りと外回りがある。 そのなことは誰でも知っているが、どこからどこへ向かうのが どっちなのかを知らない人は多いはずで、おいらもその一人だった。 車が左側通行であるという原則が山手線の電車に …

no image

算数の問題

4つの整数があり、うち2つの値の和の最大が187で最小が137。 差の最大が40で最小が10である。4つの整数は何か? 関係性を表にするとこんな感じ。    最大 最小  和 187 137  差 4 …

no image

高校同窓会再び

25人からの人間を集めて高校同窓会をやってから約3年が経った。 そろそろいい頃合いなので、もう一度やってみるべく関係各位に連絡中だ。 前回は、自分のクラスを中心に同じ理系クラスだった隣りのクラスも含め …