TOP > Coherent PDF Command Line Tools (CPDF)
頑張って働いたら、家で夕飯だよ。
目次
- 概要 ※当ページ
- オペレーションの解説
smpdf.exe の説明
概要
非常に多機能なPDFのコマンドライン・ツールです。多機能すぎて、解説は時間的も容量的にもかなり無理が有ります。
他のコマンドライン・ソフトを合体させて、更にプラス機能 x 10倍ぐらいを持っていると言えるかもしれません。
文書プロパティ(タイトル、作者、キーワード、ページレイアウト、ページモード、表示オプション等)の設定が出来るのは嬉しいです。
コマンドライン・ソフトなのでVBA等などのプログラミングからも実行可能です。
注記:ライセンスを御覧ください。
呼び方:コヘレント ピーディーエフ コマンドライン ツール コミュニュケーション リリース(Coherent PDF Command Line Tools Community Release)では長いの シーピーディエフ (CPDF)コミュニュケーション版 でイイと思います。
ダウンロード
ココをクリックするとCoherent PDF Command Line Tools Community Release のサイトが表示されます。「Download pre-built tools now」の部分をマウスでクリックすると実行ファイルのダウンロード「cpdf-binaries-master.zip」が出来ます。
インストール
インストーラーは無いです。圧縮ファイル「cpdf-binaries-master.zip」を解凍するだけです。その解凍フォルダ内に有るWindowsフォルダの cpdf.exe をDos画面上で実行します。
マニュアルのダウンロード
多機能ゆえにマニュアルが無いと操作できません。ココのサイトを開いて「PDF document」をクリックするとPDFファイルがダウンロードできます。Webページのマニュアルは「browsable online」をクリックすると表示されます。
全て英語ですが、簡単な文章と豊富な見やすいサンプルが書かれています。英語が不慣れな人も時間が経てば使えるようになると信じています。
機能
機能のハイライト部分をピックアップします。各機能別に更に細かな設定や操作が出来るようになっています。(いました
- 一般的な機能
- ページ範囲を指定
- PDFファイルのパスワード指定
- 標準入力と標準出力で連鎖コマンドを使用
- PDFファイルのIDを維持、変更
- 制御ファイルを読み込んでコマンドラインを実行
- Web用の最適化(リニアライズ)
- 完全なエラー処理とプログラムからの呼び出し
- 1つのコマンドラインで複数の操作の組み合わせが可能
- マージおよび分割
- しおり(ブックマーク)を保って、複数のPDFファイルをマージ
- 関連しおりを維持し、PDFファイルを分割
- しおりの境界(章、節など)でPDFファイルを分割
- ページの操作
- ページの拡大縮小(1つの用紙サイズから別のサイズ)
- フィットするようにページの拡大縮小
- ページ内容を移動(余白の変更など)
- 絶対的または相対的な条件でページを回転
- 水平または垂直にページを反転
- ページのトリミング、またはトリミングを削除
- ページのメディアボックスを設定
- パスワードによる40ビットおよび128ビットRC4又は128ビットと256ビットのAESセキュリティを使用した暗号化と、PDFファイルの復号化
- PDFファイル内のストリームの圧縮と解凍
- しおり(ブックマーク)
- しおりの一覧
- しおりを削除
- しおりを追加
- トランジション効果を持つPDFベースのプレゼンテーションを作成
- ロゴ、透かし、スタンプ
- ページの上または下にスタンプ
- 個々のページを組み合わせて、2つのファイルを組み合わせる
- 異なるフォント、色、サイズと透明性のページに、テキスト、ページ番号、または通し番号を追加
- 両端揃えを含む複数行のテキストの段落を追加
- 他のPDFからフォントをコピーして任意のフォントの使用を可能にする
- 複数ページの手法
- 1つのページに複数のページを挿入(n-up)
- 空白ページを挿入
- 注釈
- 注釈の一覧表示
- 注釈を別ファイルからコピー
- 注釈の削除
- 文書情報とメタデータ
- ページ数の表示
- ページ情報の一覧
- フォントの一覧
- 文書情報(タイトル、作者、キーワードなど)の読み出し
- 文書情報の設定 ※使用には問題有り。注意点を参照。v2.2
- ページレイアウト、ページモード、表示オプションの設定
- メタデータの読み込み、削除、設定
- 添付ファイルの削除と一覧 ※抽出と保存の機能は無い
- その他
- 細線を太く
- 不足しているフォントを検出
- 低解像度画像を検出
- テキスト、塗りつぶしや線を黒く する
- ドラフト文書を作成(画像を削除)
- PDFファイルのガベージコレクション(不要データの削除)
- PDFバージョンの値を変更
- 1ファイルから別のファイルへ固有のIDをコピー
- ユニコードUTF8のテキスト入力と出力をサポート
- PDFのオープンアクションを設定
- PDFファイルの圧縮(smpdf.exe)
cpdf.exe のHelpの内容
1 >cpdf --help
2 Syntax: cpdf <op> <op-specific arguments> [-o <output file>] <input files>
3
4 This is a copyrighted, commercial program, and may NOT be freely copied.
5
6 Version 2.2 (patchlevel 1, build of 1st September 2017)
7
8 To buy, visit http://www.coherentpdf.com/
9
10 Input names are distinguished by containing a '.' and may be
11 followed by a page range specification, for instance "1,2,3"
12 or "1-6,9-end" or "even" or "odd" or "reverse".
13
14 Operations (See manual for full details):
15
16 -version Print the cpdf version number
17 -o Set the output file, if appropriate
18 -i Add an input file
19 -idir Add a directory of files
20 -stdin Read input from standard input
21 -stdin-owner Owner password for -stdin
22 -stdin-user User password for -stdin
23 -stdout Send result to standard output
24 -range Explicitly add a range
25 -change-id Change the file's /ID tag
26 -no-preserve-objstm Don't preserve object streams
27 -create-objstm Create object streams anew
28 -keep-version Don't change the version number
29 -l Linearize output file
30 -keep-l Linearize if the input file was linearized
31 -cpdflin Set location of 'cpdflin'
32 -recrypt Keep this file's encryption when writing
33 -raw Do not process text
34 -stripped Process text by simple stripping to ASCII
35 -utf8 Process text by conversion to UTF8 Unicode
36 -fast Speed over correctness with malformed documents
37 -control Use a control file. Deprecated. Use -args.
38 -merge Merge a number of files into one
39 -retain-numbering Don't renumber pages when merging
40 -remove-duplicate-fonts Remove duplicate fonts when merging
41 -split Split a file into individual pages
42 -chunk Set chunk size for -split (default 1)
43 -split-bookmarks Split a file at bookmarks at a given level
44 -scale-page -scale-page "sx sy" scales by (sx, sy)
45 -scale-to-fit -scale-to-fit "x y" scales to page size (x, y)
46 -scale-contents Scale Contents by the given factor
47 -scale-center Scale contents around center
48 -scale-to-fit-scale -scale-to-fit-scale (1.0 = 100%)
49 -shift -shift "dx dy" shifts the chosen pages
50 -rotate Set rotation of pages to 0, 90, 180, 270
51 -rotateby Rotate pages by 90, 180 or 270 degrees
52 -rotate-contents Rotate contents of pages
53 -upright Make pages upright
54 -hflip Flip pages horizontally
55 -vflip Flip pages vertically
56 -crop Crop specified pages
57 -hard-box Hard crop specified pages to the given box
58 -remove-crop Remove cropping on specified pages
59 -frombox Set box to copy from
60 -tobox Set box to copy to
61 -mediabox-if-missing If copy from box missing, substitute media box
62 -mediabox Set media box on specified pages
63 -encrypt Encrypt a document
64 -decrypt Decrypt a file
65 -no-edit No edits
66 -no-print No printing
67 -no-copy No copying
68 -no-annot No annotations
69 -no-forms No forms
70 -no-extract No extracting
71 -no-assemble No assembling
72 -no-hq-print No high quality printing
73 -no-encrypt-metadata Don't encrypt metadata (AES only)
74 -decompress Decompress
75 -compress Compress streams, leaving metadata alone
76 -list-bookmarks List Bookmarks
77 -remove-bookmarks Remove bookmarks from a file
78 -add-bookmarks Add bookmarks from the given file
79 -presentation Make a presentation
80 -trans Set the transition method for -presentation
81 -duration Set the display duration for -presentation
82 -vertical Set dimension for Split and Blinds styles
83 -outward Set direction for Split and Box styles
84 -direction Set direction for Wipe and Glitter styles
85 -effect-duration Set the effect duration in seconds
86 -stamp-on Stamp a file on some pages of another
87 -stamp-under Stamp a file under some pages of another
88 -scale-stamp-to-fit Scale the stamp to fit the page
89 -combine-pages Combine two files by merging individual pages
90 -add-text Superimpose text on the given range of pages
91 -remove-text Remove text previously added by cpdf
92 -add-rectangle Add a rectangle to the page
93 -bates Set the base bates number
94 -bates-at-range Set the base bates number at first page in range
95 -bates-pad-to Pad the bates number with leading zeroes to width
96 -font Set the font
97 -font-size Set the font size
98 -no-embed-font Do not embed fonts
99 -color Set the color
100 -opacity Set the text opacity
101 -outline Use outline mode for text
102 -linewidth Set line width for outline text
103 -pos-center Set position relative to center of baseline
104 -pos-left Set position relative to left of baseline
105 -pos-right Set position relative to right of baseline
106 -top Set position relative to center top of page
107 -topleft Set position relative to top left of page
108 -topright Set position relative to top right of page
109 -left Set position relative to center left of page
110 -bottomleft Set position relative to bottom left of page
111 -bottom Set position relative to center bottom of page
112 -bottomright Set position relative to bottom right of page
113 -right Set position relative to center right of page
114 -diagonal Place text diagonally across page
115 -reverse-diagonal Place text diagonally across page from top left
116 -center Place text in the center of the page
117 -justify-left Justify multiline text left
118 -justify-right Justify multiline text right
119 -justify-center Justify multiline text centre
120 -underneath Text stamp is underneath content
121 -line-spacing Line spacing (1 is normal)
122 -midline Adjust text to midline rather than baseline
123 -topline Adjust text to topline rather than baseline
124 -relative-to-cropbox Add text relative to Crop Box not Media Box
125 -prerotate Calls -upright on pages before adding text
126 -twoup Put 2 pages onto one
127 -twoup-stack Stack 2 pages onto one twice the size
128 -pad-before Add a blank page before the given pages
129 -pad-after Add a blank page after the given pages
130 -pad-every Add a blank page after every n pages
131 -pad-multiple Pad the document to a multiple of n pages
132 -list-annotations List annotations
133 -copy-annotations Copy annotations from given file
134 -remove-annotations Remove annotations
135 -list-fonts Output font list
136 -info Output file information
137 -page-info Output file information
138 -set-author Set Author
139 -set-title Set Title
140 -set-subject Set Subject
141 -set-keywords Set Keywords
142 -set-create Set Creation date
143 -set-modify Set Modification date
144 -set-creator Set Creator
145 -set-producer Set Producer
146 -set-trapped Mark as trapped
147 -set-untrapped Mark as not trapped
148 -set-page-layout Set page layout upon document opening
149 -set-page-mode Set page mode upon document opening
150 -open-at-page Set initial page
151 -open-at-page-fit Set inital page, scaling to fit
152 -set-metadata Set metadata to the contents of a file
153 -print-metadata Output metadata information
154 -remove-metadata Remove document metadata
155 -hide-toolbar Hide the viewer's toolbar
156 -hide-menubar Hide the viewer's menubar
157 -hide-window-ui Hide the viewer's scroll bars etc.
158 -fit-window Resize document's window to fit size of page
159 -center-window Position window in the center of screen
160 -display-doc-title Display document's title in the title bar
161 -pages Count pages
162 -list-attached-files List attached files
163 -attach-file Attach a file
164 -to-page Attach file to given page instead of document
165 -remove-files Remove embedded attached document-level files
166 -image-resolution List images under a given dpi
167 -copy-font Copy a named font
168 -copy-font-page Set the page a copied font is drawn from
169 -remove-fonts Remove embedded fonts
170 -copy-font-name Set the name of the font to copy
171 -missing-fonts List missing fonts
172 -remove-id Remove the file's /ID tag
173 -draft Remove images from the file
174 -boxes Add crossed boxes to -draft option
175 -blacktext Blacken document text
176 -blacklines Blacken lines in document
177 -blackfills Blacken fills in document
178 -thinlines Set minimum line thickness to the given width
179 -remove-clipping Remove clipping paths
180 -clean Garbage-collect a file
181 -set-version Set PDF version number
182 -copy-id-from Copy one file's ID tag to another
183 -print-page-labels Print page labels
184 -remove-page-labels Remove page labels
185 -add-page-labels Add or replace page labels
186 -label-style Set label style (default DecimalArabic)
187 -label-prefix Set label prefix (default none)
188 -label-startval Set label start value (default 1)
189 -remove-dict-entry Remove an entry from all dictionaries
190 -producer Change the /Producer entry in the /Info dictionary
191 -creator Change the /Creator entry in the /Info dictionary
192 -list-spot-colors List spot colors
193 -squeeze Squeeze
194 -squeeze-log-to Squeeze log location
195 -help Display this list of options
196 --help Display this list of options
Highlight:プログラミング言語のソースコードを構文で色分け (GUI編)
smpdf.exe のHelpの内容
PDFファイルの最適化をします。非商用のみ使用可能です。
※現時点(2017/9/23)では配布の確認が出来ません。CPDFのv2.1 には含まれていました。 v2.2 には含まれてません。
1 >smpdf -help
2 smpdf input.pdf -o output.pdf [-keep-l] [-pw password]
3
4 -o Set the output file
5 -keep-l Keep linearization, if present
6 -pw The user password, if required
7 -version Print the version number and exit
8 -help Display this list of options
9 --help Display this list of options
10
11 >smpdf -version
12 smpdf Version 1.4.1
Highlight:プログラミング言語のソースコードを構文で色分け (GUI編)
Web用の最適化(リニアライズ)をしたい時は -keep-l オプションを追加します。但し、Web用の最適化をしたい時は商用のcpdflinが別途必要になります。
注目:Acrobat 本体の最適化と同等以上の圧縮率を出す時も有ります。
終了コード
プログラム等から起動した時に結果を判断するための終了コードを返します。
- 0 : 正常終了
- 1 : パスワードの指定ミス
- 2 : エラー
使用例
アッチ(英語)にもサンプルが公開されてますが、日本語でないと感覚的に判らないです。一部分ですが、文書プロパティの「開き方」タブの、レイアウトと倍率、ウィンドウオプション、ユーザーインターフェイスオプションの設定変更のサンプルです。テスト済みです。
▽ レイアウトと倍率 / 表示
- ページのみ
>cpdf -set-page-mode UseNone in.pdf -o out.pdf
- しおりパネルとページ
>cpdf -set-page-mode UseOutlines in.pdf -o out.pdf
- ページパネルとページ
>cpdf -set-page-mode UseThumbs in.pdf -o out.pdf
- 添付ファイルパネルとページ
>cpdf -set-page-mode UseAttachments in.pdf -o out.pdf
- レイヤーパネルとページ
>cpdf -set-page-mode UseOC in.pdf -o out.pdf
▽ レイアウトと倍率 / ページレイアウト
- 単一ページ
>cpdf -set-page-layout SinglePage in.pdf -o out.pdf
- 連続ページ
>cpdf -set-page-layout OneColumn in.pdf -o out.pdf
- 見開きページ
>cpdf -set-page-layout TwoPageLeft in.pdf -o out.pdf
- 連続見開きページ
>cpdf -set-page-layout TwoColumnLeft in.pdf -o out.pdf
- 見開きページ(表紙)
>cpdf -set-page-layout TwoPageRight in.pdf -o out.pdf
- 連続見開きページ(表紙)
>cpdf -set-page-layout TwoColumnRight in.pdf -o out.pdf
▽ レイアウトと倍率 / 倍率
倍率(100%表示、全体表示、幅に合わせる、高さに合わせる、描画領域の幅に合わせる、25%~6400%)を変更するオプションは現時点では無いです。※Version 2.2
▽ レイアウトと倍率 / 開くページ
「開くページ」を15にセット>cpdf -open-at-page 15 in.pdf -o out.pdf
▽ ウィンドウオプション
- True : チェックをオン
- Flase : チェックをオフ
- 「ページにウィンドウサイズを合わせる」をオン
>cpdf -fit-window true in.pdf -o out.pdf
- 「ウィンドウを画面中央に配置」をオン
>cpdf -center-window true in.pdf -o out.pdf
- 「フルスクリーンモードで開く」をオン
>cpdf -set-page-mode FullScreen in.pdf -o out.pdf
注記:逆にオフにする方法が見つかってないので、実行時は要注意!
どうしてもオフにしたい方はコメントを下さい。(面倒だが裏ワザ有 - 表示を「文書のタイトル」にセット(True)。「ファイル名」は False 。
>cpdf -display-doc-title true in.pdf -o out.pdf
▽ユーザーインターフェイスオプション
- True : チェックをオン
- Flase : チェックをオフ
- 「メニューバーを非表示」をオン
>cpdf -hide-menubar true in.pdf -o out.pdf
- 「ツールバーを非表示」をオン
>cpdf -hide-toolbar true in.pdf -o out.pdf
- 「ウィンドウコントロールを非表示」をオン
>cpdf -hide-window-ui true in.pdf -o out.pdf
オプションを組み合わせる
事も当然ですが可能です。
>cpdf -hide-window-ui true -set-page-mode UseAttachments in.pdf -o out.pdf
しおりの抽出、削除、登録
Acrobat のOLEでも出来ますが完璧では無いです。出来ない部分をこの CPDF で補います。
以下のオプションが有ります。
- -list-bookmarks :しおりの一覧を出力
- -remove-bookmarks :しおりを全て削除
- -add-bookmarks :ファイルから情報を入力してしおりを新規登録。
登録時にしおりのレベル、名前、移動先のページ番号、下位レベルのしおりの開閉状態を指示できます。
これでは判らないのでサンプルです。
1. サンプル:しおりの抽出
「input.pdf」PDFファイル上のしおりを「siori-1.txt」テキストファイルへ出力します。テキストファイルはDOSの「>」リダイレクトを使います。
>cpdf -utf8 -list-bookmarks input.pdf > siori-1.txt
注意:
- 「-utf8」をオプションに追加しておかないと日本語文字が扱えません。「-utf8」無しでの実行結果と比べるとその意味が分かります。
「siori-1.txt」テキストファイルの出力サンプルです。
0 "目次" 3
0 "はじめに" 28
1 "このマニュアルの内容" 28
1 "対象読者" 28
「0 "目次" 3」:最初の「0」はしおりのレベルです。0だからトップです。1の場合は前の0の下に入ります。「"目次"」はしおりの名前です。「3」は移動先のページ番号です。
オプションで出力ファイルを指定する「-o」が有りますが、-list-bookmarks はDOS画面上に出力するだけなので「-o」オプションは使用できません。よってリダイレクト「>」でテキスト出力させます。
2.サンプル:しおりを削除
input.pdf上の全てのしおりを削除して、out-1.pdfへ出力します。
>cpdf -utf8 -remove-bookmarks input.pdf -o out-1.pdf
当然ですが入力PDFにセキュリティが掛かっていると実行出来ません。元のPDFを変更する訳では無いのですが。間違ってセキュリティが掛かっている時は、一時的に「Qpdf : コマンドラインのPDFツール」を使って解除を行えば実行できます。
特定のしおりを削除する方法があるかを試してみましたが、無いみたいです。全て削除して再度登録し直すという手を使うしかないみたいです。
3.サンプル:しおりの登録
しおり情報が入った「siori.txt」テキストファイルを読み込んで、「input.pdf」PDFファイルにしおりを追加した状態で、結果を「output.pdf」PDFファイルへ出力します。
- 「siori.txt」テキストファイルはしおりの一覧「-list-bookmarks」オプションで出力されたフォーマットと同じ形式になっている必要が有ります。
- 既に存在するしおりを一旦全て削除した後に新規登録を行います。
-
入力PDFにセキュリティが掛かっていると実行出来ません。間違ってセキュリティが掛かっている時は、一時的に「Qpdf : コマンドラインのPDFツール」を使って解除を行えば実行できます。
>cpdf -add-bookmarks siori.txt input.pdf -o output.pdf
実行結果は
しおりを手動で開くと
なお、入力テキストファイルの各しおりの最後に「open」を付けると、そのしおりの下位の直下のしおりのみを開いた状態にします。下位の全てのしおりを開いた状態にする訳では無い点を注意して下さい。よって、更にその下位のレベルのしおりも開いた状態にしたい時は全てに「open」を付ける必要が有ります。
例:
0 "目次" 3
0 "はじめに" 28 open
1 "このマニュアルの内容" 28
1 "対象読者" 28
1 "関連ドキュメント" 28
0 "JavaScript API" 35 open
1 "ADBC" 36 open
2 "ADBC のプロパティ" 36 open
3 "SQL 型" 36
3 "JavaScript 型" 37
上記の実行結果は
「-uft8」オプションは不要です。(テスト結果から
制御ファイルの使用
設定するオプションが多いとコマンドラインの文字数の制限を越える心配が出てきます。そこで「cpdf」以降の部分をテキストファイルにして、それを制御ファイル(Control Files)として読み込んで実行する機能が備わっています。
「-hide-window-ui true -set-page-mode UseAttachments in.pdf -o out.pdf」の内容を option1.txt テキストファイルへ事前に入れときます。
>cpdf -args option1.txt
でコマンドラインの実行が可能です。
テキストファイル option1.txt の内容を「-hide-window-ui true -set-page-mode UseAttachments」と入出力PDFを外して
>cpdf -args option1.txt in.pdf -o out.pdf
としてもOKでです。制御ファイルはオプション単位で改行してもOKです。基本的に各オプションとその値は一つ以上の半角の空白文字を入れる事になっています。
これはイロイロと応用が出来るはずです。
VBAのサンプル
Excel VBA から CPDF を起動するサンプルです。オプションの編集、エラーの判定は全て自分で行う必要が有ります。
コマンドラインの実行はVBA関数「 RunCommandLineEX 」をご使用ください。
Download:cLine-cpdfDemo.xls
001 Option Explicit
002
003 Private gDebugMode As Boolean
004
005 ' コマンドラインを起動するメイン・デモ
006
007 Sub Main_Demo()
008
009 Dim i As Long
010 Dim bRet As Boolean
011 Dim strOutFile1() As String
012 Dim strOutFile2() As String
013
014 '引数で使う変数
015 Dim strCmd As String
016 Dim strOutFile(1) As String
017 Dim strErr As String
018 Dim strWorkFolder As String
019 Dim lRetCode As Long
020 Dim lErrCount As Long
021 Dim lErrCode(2) As Long
022
023 gDebugMode = True '実運用ではFalse
024
025 '終了コードのセット
026 lErrCode(0) = 0 'Success
027 lErrCode(1) = 2 'Errors
028 lErrCode(2) = 1 'a bad or inappropriate Password
029 lErrCount = 2 'Ubound(lErrCode)
030 strCmd = "I:¥Tools¥Run¥CPDF-2.1¥cpdf.exe " & _
031 "-hide-window-ui true " & _
032 "-set-page-mode UseAttachments " & _
033 "I:¥Tools¥Run¥CPDF-2.1¥IN-pass.pdf " & _
034 "owner=pass " & _
035 "-o I:¥Tools¥Run¥CPDF-2.1¥out.pdf"
036
037 'コマンドラインの実行
038 bRet = RunCommandLineEX(strCmd, strWorkFolder, _
039 lErrCount, lErrCode, _
040 strOutFile, strErr, lRetCode)
041
042 If gDebugMode Then
043 '実行結果の表示
044 Debug.Print "bRet=" & bRet
045 Debug.Print "lRetCode=" & lRetCode
046 strOutFile1 = Split(strOutFile(0), vbCrLf)
047 strOutFile2 = Split(strOutFile(1), vbCrLf)
048 Debug.Print "strErr=" & strErr
049 For i = 0 To UBound(strOutFile1)
050 Debug.Print "msg1 i(" & i & ")="; strOutFile1(i)
051 Next i
052 For i = 0 To UBound(strOutFile2)
053 Debug.Print "msg2 i(" & i & ")="; strOutFile2(i)
054 Next i
055 End If
056 MsgBox "End " & Now
057 End Sub
058
059 Public Function RunCommandLineEX( _
060 ・・・・) As Boolean
061
062 'ココはVBA関数「 RunCommandLineEX 」をご使用ください。
063
064 End Function
Highlight:プログラミング言語のソースコードを構文で色分け (GUI編)
ライセンス
▽ Coherent PDF Command Line Tools Community Release:無料版?
こちらのサイトのページトップには「Powerful, free tools to manipulate PDF files」=「PDF ファイルを操作する強力な無料ツール」と書かれています。個人での使用(=非商用)に限り、無料で使える『みたい』です。ソースコードも公開されています。
▽Coherent PDF Command Line Tools:有償版
こちらはサイトを見ると無料と言う表現は見つかりません。ソフトもツールキットと言う表現が有ります。ダウンロードファイルも解説上はデモ扱いです。但し、ダウンロードの実行ファイルに制限や登録コード等は見当たりませんでした。ライセンスもサポート無し版もあります。ドキュメントにデモ版は30日期限の表現も見当たりました。
□まとめ
実行ファイルを見比べるとバージョンも「--help」表示も同じように見えますが、DIFFソフトで比較すると異なるファイルになります。どちらのサイトも問合せ窓口が有りますので、商用で使用する場合は事前確認をお願いします。個人で無料で使用したい方は「 Coherent PDF Command Line Tools Community Release」版の方をご利用ください。
日本語の対応
基本的には2バイト文字への対応は無い(みたい)です。
文書のプロパティでタイトル(Title)へ漢字を入れようとしてエラー「Bad UTF8 in codepoints_of_utf8」で出来ませんでした。「-utf8」も「-stripped」オプションもダメです。
「-raw」オプションは正常終了しましたが。「-info」では見ると漢字は無視されます。更にAcrobat で見ると全く結果が反映されてないです。
標準出力は UTF-8N で出力されていますから、プログラムでコード変換して読みこめば日本語の取得は出来ます。
しおりに日本語が入っている場合は -utf8 -list-bookmarks でしおり一覧をテキストに出力できます。標準出力で確認しました。 -utf8 が無いと日本語は無視されますので注意してください。
>cpdf -utf8 -list-bookmarks in.pdf > in-text.txt
このWindows 版ツールで日本語を扱うのは出来ないか、何らかの別の設定が必要かもしれません。
Linux版、Mac版は未確認ですが、ひょっとしたら環境を整えたら日本語は扱えるのかもしれません。(勘
注意点
- あくまでもテスト結果から見た考えです。前にも書きましたが。
文書のプロパティでタイトル(Title)へ漢字を入れよう「-set-title」としてエラー「Bad UTF8 in codepoints_of_utf8」で出来ませんでした。「-utf8」も「-stripped」オプションを追加もダメです。
「-raw」オプションは正常終了しましたが。「-info」では見ると漢字は無視されます。更にAcrobat で見ると全く結果が反映されてないです。つまり、PDFファイル内の反映する場所がCPDFとAcrobatとでは違うみたいです。
結果、CPDFは独自の場所に情報を設定している可能性が有ります。文書のプロパティのタイトル関連に関して、CPDFで設定した内容はCPDFでは見れますが、Acrobat XI (+Acrobat Reader DC)では見れないと言う事です。
コチラ なら日本語でも問題無く設定できます。
また「関数:PDFの文書プロパティ(概要)を更新」も少し注意点は有りますが、かなり有効なやり方です。
備考
- 「Coherent PDF Command Line Tools」 ツールは長いので CPDF と省略する場合もあるみたいです。CPDFと言う時は有償版を言う雰囲気も多少はありますが。
- 日本語文字の表示は未確認ですが。ファイルへの出力が出来るはずなので、後はプログラムで何とでも出来ると思っています。
- 文書のタイトル、作成者、サブタイトル、キーワードの部分の設定は少し変です。「-info」で反映結果は確認できます。しかし実際にPDFを開いて文書プロパティを見てると全く反映されていません。メタデータにも残っていません。この結果はかなり変です。「-set-title」「-set-author」「-set-subject」「-set-keywords」「-set-creator」「-set-producer」
- CPDF は poppler (又はxpdf )の上位互換では無いみたいなので、poppler の言語ファイルをインストールしても意味は無いみたいです。
< TOPへ戻る >
こんにちは。
無理を承知で教えて下さい。
CPDFコマンドで、あるCSVの内容をPDFに書き込みたいのですが可能でしょうか?
PDFの中身を検察する際にこのようなことがしたいです。
自動でやりたいのでDOSコマンドを用いてバッチ処理が目的です。
可能かどうかご教授をお願い致します。
OS:WINDOWS10
AcrobatReader DC:2020.006.20034
田中 さん
はじめまして。
>・・あるCSVの内容をPDFに書き込み・・
CPDFにその様な機能は無いと思います。
>・・PDFの中身を検察・・
スイマセンが、この部分の意味は理解できません。