Web Analytics

Technically Impossible

Lets look at the weak link in your statement. Anything "Technically Impossible" basically means we haven't figured out how yet.

特定フォルダ配下のPDFファイルを一括、右綴じ変換 実装編1

f:id:espio999:20170917122716p:plain
いわゆる自炊した文書をスキャンニングしてPDF化した際、その文章フォーマットに関わらず、そのファイルは左綴じの文書として処理されます。見開きで表示すると、左側に奇数ページ、右側に偶数ページの順に配置されます。
日本語のような縦書き文書の場合、右綴じの文書として処理され、見開き表示では右に奇数ページ、左に偶数ページを配置してほしいところです。

単一のファイルを操作する場合、このための設定変更はファイルのプロパティを変更します。Adobe Acrobatの場合でいうと、トップ画像の赤丸の部分を操作することになる。

一度に複数のファイルについて同様の操作を施す場合、何とか効率化したいところです。ここでは次のツールを活用して、対応方法を紹介します。

VB.Net (Visual Studio 2017 Community)
iText 7

長くなるため、次のエントリーに分割して紹介します。

  1. 調査:PDFファイルの変更箇所
  2. 操作:変更操作に対応するiText 7のコード
  3. 実装1:Visual Studio 2017へのiText 7導入
  4. 実装2:Visual Studio 2017での実装

この投稿では、「実装1:Visual Studio 2017へのiText 7導入」を扱います。
Visual Studio 2017のインストールには触れません。必要な方は、こちらをご参照ください。
www.atmarkit.co.jp

Visual Studio 2017で新規プロジェクトを作成します。プロジェクトはWindowsフォームアプリケーション(.NET Framework)を選択します。
PDFファイルの操作にはiText 7が必要です。プロジェクトを作成したら、iText 7を導入します。iText 7の導入には、Visual Studio 2017に統合されているNuGetを利用します。
ソリューションエクスプローラーの「参照」を右クリックし、コンテキスト・メニューから「NuGetパッケージの管理」を選択します。
f:id:espio999:20170917124811p:plain

NuGetタブから検索でiText7を探し、インストールします。iText7.***は不要です。「iText7」だけをインストールします。
f:id:espio999:20170917124828p:plain

PDF操作に必要なライブラリ参照のためにコードを追加しておきます。ファイル参照のためにSystem.IOも参照します。

Imports iText.Kernel.Pdf
Imports System.IO

ここまで作業したらコーディングに移ります。
impsbl.hatenablog.jp