CAD日記

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

ソフト開発

iTextSharpによるPDFファイルのページ分割

投稿日:2015年9月12日 更新日:

iTextSharpはフリーのPDF関連コンポーネントであり、いろんなことができるのは知っていた。ドットNET、つまりC#かVB使いであれば、けっこう簡単にPDFを操ることができるのだが、あいにくおいらはC++使いなので、これまでは触れる機会がなかった。iTextSharpを使ったプログラムでPDFをページごとに分割したら、あるPDFにおいて元通りの状態で分割されずに、回転した状態になってしまうんだが、何とかならないか。という相談を受けて解決に導いてあげられたので、そのアウトプットをここに掲載する。
VB.NETのソースコード付きプログラムと回転したPDFのサンプル。

相談を受けた直後は、ググって以下のサイトを見つけたので「ここ見れ!」って教えてあげた。
iTextSharpを使ってPDF分割アプリケーションを作成する
ところが「それやってもダメだった」とのことなので、さらにググって以下を発見。
Rotating PDF in C# using iTextSharp
英語サイトでC#なんで少々腰がひけたけれども、乗りかかった船なので最後までがんばってみた。最初のサイトでは、90度と270度のときにそれっぽい処理を行っているがこれではダメ。すべての回転角度(0度、90度、180度、270度)に対して、異なる処理をいれなきゃいかんということが上記英語サイトからわかった。うまくいくかどうか確かめるために、ほとんど使ったことのないVBプログラムをやらなければならなくて、けっこうめんどうな気持ちになったが、やってみたらけっこう簡単だった。

調査の過程で以下サイトも見つけている。
PDFファイルを分割するサンプル(VB.NET)
回転角度0度以外だったら回転させる処理になっているので、うまくいきそうに見えたが実際はダメで、高さと幅の考慮がないことでうまくいかないことがわかった。

iTextSharpによるPDFファイルのページ分割を行いたいという要求は、今後少なくない人間が持つことだろう。
その際、上の二つのサイトにたどり着いて同じ組み方で不十分なプログラムになってしまうことを避けるために、おいらが導いた解決策を両サイトには連絡しておいた。そんなこんなで、iTextSharpが簡単でおもいしろいってことを発見できた。
iTextSharpは、Ver.5からAGPLライセンスが適用されていて扱いがやっかいだ。ようするに、iTextSharp5を組み込んだアプリ全体のソースコードを公開しなきゃいかん。そんなことを知っていたので、今回はiTextSharp4を使っている。近いうちにこのあたりのことを調べてみようと思っている。

-ソフト開発
-

執筆者:


comment

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

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

関連記事

zipcopy Ver1.05リリース

zipcopyをリビジョンアップして、Ver1.05とした。 詳細は以下の通り。 Ver1.05 2019/9/30 ・7zip使用でない(DotNetZip)場合に、4GB以上のzipへの圧縮ができ …

no image

受託開発

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

PDFアレコレVer1系は1.02で打ち止めとするにあたって最後の強化をした

iTextSharp7を組み込んでVer2にしようというプランに移行するにあたって、心残りだったところをVer1.02として強化しておいた。

マルチスレッドプログラミング(C#編)

マルチスレッドプログラミング(C++編) マルチスレッドプログラミング(VB.net編) に続く第三弾はC#編。

no image

円周率

3.1415926535…。私が記憶しているのはここまでです。スーパーコンピュータを使って数億桁まで計算、なんてニュースをよく聞きますね。コンピュータの性能向上とアルゴリズムの工夫に対する …