CAD日記

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

ソフト開発

PDFアレコレで画面の拡大・縮小・移動ができるようにした

投稿日:

PDFアレコレをバージョンアップ。約4か月ぶり。
Ver3.05 2021/6/20
・PDFの描画位置を左右上下にセンタリングするようにした(以前は左上)。
・Ctrl+マウスホイール上下操作によって、PDF描画を拡大縮小できるようにした。ただし、移動との兼ね合いで一部描画領域が欠けることあり(不具合なのでいずれ直す)。拡大率をステータス領域に表示するようにした。
・Ctrl+マウスホイールドラッグ操作によって、PDF描画を移動できるようにした。
・捺印ボタンを押した際、画面の拡大/縮小/移動の結果を元に戻すようにした(捺印位置の計算がまだできていないため)。
詳細はコチラ。

念願の描画系処理を実装したが、まだ中途半端な状態。これまではPDFの中身を描画できるといっても、ウインドウ領域の中にいっぱいいっぱいで表示するだけで、任意の拡大・縮小ができていなかった。捺印するのに、画面を拡大して狙いの場所をはっきりさせるために実現したわけだが、肝心の捺印ポジションの計算がまだできていないから、捺印ボタン押下時に描画状態を強制リセットするという仕様。いやはや中途半端なり。

画面の拡大縮小移動は、pictureBoxやPDFiumの機能でサクっと実現できないかと調査したが結局できず。仕方なく、マウスイベントを取って、PDFiumのRenderする領域を可変として、pictureBoxの位置を変更した。いろいろやってみてわかったけど、この手の画面制御はこんな感じで泥臭くやるしかない。C#だから、C++と比べたら何をやるにも簡単ではあるが、今回の画面操作はけっこうてこずった。

近々、この中途半端なところを解消しつつ、コマンドラインから捺印できるようにしましょうかね。

-ソフト開発

執筆者:


comment

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

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

関連記事

本質的にPDFに捺印できるようにしたPDFアレコレを公開

先週に引き続き今週もPDFアレコレをバージョンアップ。変更点は以下の通り。 Ver2.02 2020/3/21 ・捺印時に画面でクリックしたところに配置できるようにした。(Ver2.01は固定値) 詳 …

no image

受託開発

パッケージソフトの開発にメンバーとして関わって10年、そこそこの売り上げを継続でき、よい結果を出していると思います。ここ最近、少しジリ貧なので、ちょっと厳しいですけど、それはともかく... 近頃、受託 …

no image

PDF印刷のアプリ指定

PCにAdobe ReaderとAcrobatの両方が入っている場合、PDFファイルを 右クリックメニューから印刷ってやると、どっちで印刷されるのか? Windows XPまでは、拡張子の関連付けのと …

インフラSEへの道~マジックパケットを送信してマシンを起動する~

Wake On LANを試してみようと以下の記事を書いたわけだが、PowerShellでマジックパケットを送信しようとしたところ、PowerShellのセキュリティや文字コードがややこしいと感じて、自 …

クリップボード履歴を一括でまとめて取得したいだろ?

Windows 10 1809の新機能「クリップボード履歴」はそこそこ使えるんだけど、惜しいんだよね。最大25個までのコピーした履歴を取れるところまではよいが、その履歴を一括でまとめて取得できないのだ …