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

チャイルドスポンサー

妻が昔から考えていて、でも実行できなかったことを実現させた。 チャイルドスポンサーになること。 ワールド・ビジョン・ジャパン Webから申し込みをしたら、たった2日後にチャイルドの写真と 関係する書類 …

no image

切手換金の結果は22.4万円だった

親族から預かった大量の切手を売るプロジェクトが終わり、結果約22.4万円(223,926円)となった。額面で35.7万円だったので63%の換金率だ。スカイプ、メール、LINE、メッセンジャーなどなどデ …

no image

出来事

●DMC 巷で話題のデトロイト・メタル・シティ。 単行本全6巻を読み、映画に足を運んだ。 クラウザーさんがかっこよく、根岸が気持ち悪い。 テトラポット・メロン・ティーというネーミングが頭から離れない。 …

新幹線グリーン車の費用ってどんなもんか比較してみた

毎年恒例の秋田帰省はグリーン車って決めているんだけど、普通車と比べてどのくらいの費用の差があるのか、今更ながら比較してみた。 秋田新幹線こまちの東京から大曲までの1名分の片道料金を高い順に並べた結果。 …

no image

メッセージを送る機能廃止

メッセージを送る機能が廃止になっていた。 調べたら、2年半以上前にサービス停止していた模様。 http://merry5656.blog.so-net.ne.jp/2010-11-19-1 何気なく、 …