cfpdf

cfpdf タグを使用して、既存 PDF の読み取り、既存 PDF へのメタデータの書き込み、複数の PDF のマージ、ページの削除、ページのサムネール作成、テキストと画像の抽出、透かしの追加と削除、ドキュメントへの電子署名の追加または削除、非表示情報の削除および墨消しによる PDF コンテンツのセキュリティ強化、パスワードによる PDF の保護を実行できます。

説明

既存の PDF ドキュメントを操作します。cfpdf タグを使用すると、次のようなタスクを実行できます。

  • 複数の PDF ドキュメントを 1 つの PDF ドキュメントにマージする
  • PDF ドキュメントからページを削除する
  • PDF ドキュメントのページをマージし、新規の PDF ドキュメントを生成する
  • PDF ドキュメントを線形化して web 表示を高速化する
  • Acrobat で作成されたフォームからインタラクティブ機能を除去して、フラットな PDF ドキュメントを生成する
  • PDF ドキュメントを暗号化して、パスワードで保護する
  • PDF ドキュメントまたは PDF ページからサムネール画像を生成する
  • PDF ドキュメントまたはページの透かしを追加または削除する
  • PDF ドキュメントに関する情報(ファイルの生成に使用されたソフトウェア、作成者など)を取得したり、PDF ドキュメントに関する情報(タイトル、作成者、キーワードなど)を設定する
  • PDF ポートフォリオを作成する
  • PDF ドキュメントにヘッダまたはフッタを追加する、および PDF ドキュメントからヘッダまたはフッタを削除する
  • PDF ドキュメントを最適化する

履歴

ColdFusion 2016 の <cfpdf> タグの新しいアクション:

ColdFusion 11 では <cfpdf> タグに次の新しい属性が追加されました。

  • keystore
  • keystorepassword
  • keyalias
  • keypassword
  • author
  • signaturefieldname
  • unsignall
  • height
  • width

ColdFusion 8:このタグが追加されました。ColdFusion 9:jpgdpi、maxBreadth、noAttachments、leftMargin、algo、noMetadata、noBookMarks、

noJavaScripts、useStructure、noFonts の新規属性が追加されました。

注意:

ライセンスを確認できませんでした。ライセンス証明書の有効期限が切れています。

注意:

 このタグは、一部の属性の変数をサポートしていません。次に例を示します。

  • 誤:<cfpdf action="export" type="comment" source="samplePDFVariable" />

  • 正:<cfpdf action="export" type="comment" source="c:\source.pdf" exportto="c:\destination.pdf" />

カテゴリ

シンタックス

PDF ドキュメントに透かしを追加 
<cfpdf 
required 
action = &quot;addwatermark&quot;
source = &quot;PDF ファイルへの絶対または相対パス名| 以下のいずれかの cfdocument 変数&quot; 
次のいずれか: 
copyfrom = &quot;最初のページを透かしとして使用する PDF ファイルへの絶対または相対パス名&quot; 
image = &quot;画像ファイルの絶対または相対パス名|透かしとして使用する画像変数&quot; 
optional 
foreground = &quot;yes|no&quot; 
isBase64 = &quot;yes|no&quot; 
opacity = &quot;透かしの透明度&quot; 
overwrite = &quot;yes|no&quot; 
pages = &quot;透かしを追加するページ&quot; 
password = &quot;PDF ソースファイルのユーザーまたは所有者パスワード&quot; 
position = &quot;ページ上に透かしを配置する位置&quot; 
rotation = &quot;透かしの回転角度&quot; 
showonprint = &quot;yes|no&quot;> 
// 次のいずれかを使用: 
destination = &quot;PDF 出力ファイルのパス名&quot; 
name = &quot;PDF ドキュメント変数名&quot; 
image = &quot;フッターとして使用する画像ファイル名&quot; 
text = &quot;フッターに使用するテキスト&quot; 

<! ---  action=sanitize --->
<cfpdf
// required 
action=&quot;sanitize&quot;
source = &quot;PDF ファイル|PDF ドキュメント変数|cfdocument 変数への絶対パスまたは相対パス&quot;
// 以下の属性のいずれかを使用: 
destination = &quot;PDF 出力ファイルのパス名&quot;
name = “PDF ドキュメント変数名”>
<! --- シンタックスの終わり --->

<! --- action=export comments --->
<cfpdf
// required
action=&quot;export&quot;
type=&quot;comment&quot;
source = &quot;PDF ファイル|PDF ドキュメント変数|cfdocument 変数への絶対または相対パス名&quot;
exportTo = &quot;xfdf ファイルの宛先&quot;>
<! --- シンタックスの終わり --->

<! --- action=import comments --->
<cfpdf
// required        
action=&quot;import&quot;
type=&quot;comment&quot;
source = &quot;PDF ファイルへの絶対または相対パス名|PDF ドキュメント変数|cfdocument 変数&quot;
importFrom = &quot;source of xfdf file&quot;
// 次の属性のいずれかを使用: 
destination = &quot;PDF 出力ファイルのパス名&quot;
name = “PDF ドキュメントの変数名”>
<! --- シンタックスの終わり --->

<! --- action=export metadata --->
<cfpdf
// required       
action=&quot;export&quot;
type=&quot;metadata&quot;
source = &quot;PDF ファイル|PDF ドキュメント変数|cfdocument 変数への絶対または相対パス名&quot;
exportTo = &quot;xmp ファイルの宛先&quot;>
<! --- シンタックスの終わり --->

<! --- アクション = メタデータの読み込み--->
<cfpdf
// required        
action=&quot;import&quot; 
type=&quot;metadata&quot;
source = &quot;PDF ファイルへの絶対または相対パス名|PDF ドキュメント変数|cfdocument 変数&quot;
importFrom  = &quot;source of xmp file&quot;
// 次の属性のいずれかを使用: 
destination = &quot;PDF 出力ファイルのパス名&quot;
name = “PDF ドキュメント変数名”>
<! --- シンタックスの終わり --->

<! ---アクション = アーカイブ--->
<cfpdf
// required
action=&quot;archive&quot;
source=&quot;#sourcefilename#&quot;
// 次の属性のいずれかを使用: 
destination = &quot;PDF 出力ファイルのパス名&quot;
name = “PDF ドキュメント変数名”>
// optional
standard = &quot;3b&quot;/>
<! --- シンタックスの終わり --->

<! --- action=addAttachments --->
<cfpdf
// required       
action=&quot;addAttachments&quot;
source = &quot;PDF ファイルへの絶対または相対パス名|PDF ドキュメント変数|cfdocument 変数|ディレクトリパス&quot;
// 次の属性のいずれかを使用: 
destination = &quot;PDF 出力ファイルのパス名&quot;
name = “PDF ドキュメント変数名”  
<cfpdfparam
   // required
   source= &quot;添付ファイルのパス&quot;
   filename = &quot;添付ファイルのファイル名&quot;
   encoding = &quot;ファイル名のエンコーディング >
   // optional  
   description = &quot;説明的なテキスト&quot;
   mimetype = &quot;eg: application/pdf, text/html&quot;>
>
<! --- シンタックスの終わり --->

<! --- action=addStamp --->
<cfpdf
// required
action=&quot;addStamp&quot;
source = &quot;PDF ファイルへの絶対または相対パス名|PDF ドキュメント変数|cfdocument 変数&quot;
// 次の属性のいずれかを使用: 
destination = &quot;PDF 出力ファイルのパス名&quot;
name = “PDF ドキュメント変数名”>
<cfpdfparam
  pages = &quot;ページ番号|ページ範囲|コンマ区切りのページ番号&quot;
  <! ---スタンプの width:height の比率を 10:3 にすることをお勧めします ---> 
  coordinates = &quot;llx,lly,urx,ury&quot;
  iconName = &quot;アイコンの名前&quot;
  note = &quot;スタンプのコンテンツ&quot; >
>
<! --- シンタックスの終わり--->

Add headers 
<cfpdf 
required 
action = &quot;addheader&quot; 
source = &quot;PDF ファイルへの絶対または相対パス名|PDF ドキュメント変数| 
cfdocument 変数&quot; 
pages = &quot;フッターに追加するページ&quot; 
optional 
isBase64 = &quot;yes|no&quot; 
overwrite = &quot;yes|no&quot; 
password = &quot;PDF ソースファイルのユーザーまたは所有者パスワード&quot; 
showonprint = &quot;yes|no&quot;> 
align = &quot;left|right|center&quot; 
leftmargin = &quot;ヘッダー左マージンの値&quot; 
rightmargin = &quot;ヘッダー右マージンの値&quot; 
numberformat = &quot;LOWERCASEROMAN|NUMERIC|UPPERCASEROMAN&quot; <! ---
_PAGENUMBER または _LASTPAGENUMBER のいずれかを使用---> 
opacity = &quot;ヘッダーの透明度&quot; 
topmargin = &quot;ヘッダーの上マージンの値&quot; 
\\one of the following: 
destination = &quot;PDF 出力ファイルのパス名&quot; 
name = &quot;PDF ドキュメント変数名&quot; 
text = _PAGELABEL: add current page label|_LASTPAGELABEL: add last page label| 
_PAGENUMBER: add current page number|_LASTPAGENUMBER: add last page 
number \\text for the header.標準のテキスト文字列を追加することもできます。image = &quot;ヘッダーとして使用する画像のファイル名&quot; 

Add footer 
<cfpdf 
required 
action = &quot;addfooter&quot; 
source = &quot;PDF ファイルへの絶対または相対パス名|PDF ドキュメント変数| 
cfdocument 変数&quot; 
pages = &quot;フッターを追加するページ&quot; 
optional 
isBase64 = &quot;yes|no&quot; 
overwrite = &quot;yes|no&quot; 

password = &quot;PDF ソースファイルのユーザーまたは所有者パスワード&quot; 
showonprint = &quot;yes|no&quot;> 
destination = &quot;PDF 出力ファイルのパス名&quot; 
name = &quot;PDF ドキュメント変数名&quot; 
align = &quot;left|right|center&quot; 
one of the following: 
image = &quot;フッターとして使用する画像ファイル名&quot; 
text = _PAGELABEL: add current page label|_LASTPAGELABEL: add last page label| 
_PAGENUMBER: add current page number|_LASTPAGENUMBER: add last page 
number \\text for the header 
leftmargin = &quot;フッターの左マージンの値&quot; 
rightmargin = &quot;フッターの右マージンの値&quot; 
numberformat 
opacity = &quot;フッターの透明度&quot; 
bottommargin = &quot;下マージンの値&quot; 
PDF ドキュメントからページを削除 
<cfpdf 
required 
action = &quot;deletepages&quot; 
pages = &quot;削除するページ&quot; 
source = &quot;PDF ファイルへの絶対または相対パス名|PDF ドキュメント変数| 
cfdocument 変数&quot; 
optional 
overwrite = &quot;yes|no&quot; 
password = &quot;PDF ソースファイルのパスワード&quot; 
次のいずれか: 
destination = &quot;PDF 出力ファイルのパス名&quot; 
name = &quot;PDF ドキュメント変数名&quot;> 
ヘッダーとフッターを削除
<cfpdf 
required 
action = &quot;removeheaderfooter&quot; 
source = &quot;PDF ファイルへの絶対または相対パス名|PDF ドキュメント変数| 
cfdocument 変数&quot; 
optional 
overwrite = &quot;yes|no&quot; 
pages = &quot;透かしを追加するページ&quot; 
password = &quot;PDF ソースファイルのユーザーまたは所有者パスワード&quot; 
次のいずれか: 
destination = &quot;PDF 出力ファイルのパス名&quot; 
name = &quot;PDF ドキュメント変数名&quot; 
PDF ドキュメントについての情報を取得
<cfpdf 
required 
action = &quot;getinfo&quot; 
name = &quot;structure 変数名&quot; 
source = &quot;PDF ファイルへの絶対または相対パス名|PDF ドキュメント変数| 
cfdocument 変数&quot; 
optional 
password = &quot;PDF ソースファイルのパスワード&quot;> 

PDF ドキュメントを出力 PDF ファイルへ結合
<cfpdf 
required 
action = &quot;merge&quot; 
次のいずれか: 
directory = &quot;結合する PDF ファイルのんディレクトリ&quot; 
source = &quot;PDF ソースファイルのコンマ区切りリスト|PDF ファイルへの絶対または相対パス名|PDF ドキュメント変数|cfdocument 変数&quot; 
<cfpdfparam> 
\\パッケージが true に指定されている場合に必須 
order = &quot;name|time&quot; 
<cfpdfparam> が指定されている場合次のいずれか: 
name = &quot;PDF ドキュメント変数名&quot; 
destination = &quot;PDF 出力ファイルのパス名&quot; 
optional 
package = &quot;true|false&quot; <! ---true に設定した場合は PDF パッケージを作成します。cfpdfparam タグに次のような説明を提供できます。<cfpdfparam file=&quot;filename desc=&quot;&quot;>---> 
ascending = &quot;yes|no&quot; 
keepBookmark = &quot;yes|no&quot; 
overwrite = &quot;yes|no&quot; 
pages = &quot;PDF ソースファイルに結合するページ&quot; 
password = &quot;PDF ソースファイルのパスワード&quot; 
stopOnError = &quot;yes|no&quot; 
\\次のいずれか: 
destination = &quot;PDF 出力ファイルのパス名&quot; 
name = &quot;PDF ドキュメント変数名&quot;> 

DDX 命令を使用して PDF ドキュメントを操作
<cfpdf 
required 
ddxfile = &quot;DDX filepath|DDX string&quot; 
inputfiles = &quot;#inputStruct#&quot; 
outputfiles = &quot;#outputStruct#&quot; 
name = &quot;structure name&quot;> 
optional 
action=&quot;processddx&quot; 

PDF ドキュメントにパスワードを設定して暗号化
<cfpdf 
required 
action = &quot;protect&quot; 
source = &quot;PDF ファイルへの絶対または相対パス名|PDF ドキュメント変数| 
cfdocument 変数&quot; 
次のうち 1 つ以上:
newUserPassword = &quot;password&quot; 
newOwnerPassword = &quot;password&quot; 
if newOwnerPassword is specified: 
permissions = &quot;All|AllowAssembly|AllowDegradedPrinting|AllowCopy|AllowFillIn|
AllowModifyAnnotations| 
AllowModifyContents|AllowPrinting|AllowScreenReaders|AllowSecure|None| 
comma-separated list&quot; 
optional 
destination = &quot;PDF 出力ファイルのパス名&quot; 
encrypt = &quot;RC4_40|RC4_128|RC4_128M|AES_128|AES_256R6|AES_256R5|none&quot; 
overwrite = &quot;yes|no&quot; 
password = &quot;ソースファイルのパスワード&quot;> 

PDF ドキュメント変数に名前を付ける 
<cfpdf 
required 
action = &quot;read&quot; 
name = &quot;PDF ドキュメント変数名&quot; 
source = &quot;PDF ファイルへの絶対または相対パス名|PDF ドキュメント変数| 
cfdocument 変数&quot; 
optional 
password = &quot;PDF ソースファイルのパスワード&quot;> 

PDF ドキュメントから透かしを削除
<cfpdf 
required 
action = &quot;removeWatermark&quot; 
source = &quot;PDF ファイルへの絶対または相対パス名|PDF ドキュメント変数| 
cfdocument 変数&quot; 
optional 
overwrite = &quot;yes|no&quot; 
pages = &quot;透かしを削除するページ&quot; 
password = &quot;PDF ソースファイルのパスワード&quot;> 
次のいずれか: 
destination = &quot;PDF 出力ファイルのパス名&quot; 
name = &quot;PDF ドキュメント変数名&quot; 

PDF ドキュメントに関する情報を設定
<cfpdf 
required 
action = &quot;setinfo&quot; 
info = &quot;#structure variable name#&quot; 
source = &quot;PDF ファイルへの絶対または相対パス名|PDF ドキュメント変数| 
cfdocument 変数&quot; 
optional 
destination = &quot;PDF 出力ファイルのパス名&quot; 
overwrite = &quot;yes|no&quot; 
password = &quot;PDF ソースファイルのパスワード&quot;> 

PDF ドキュメントのページから無ネールを取得
<cfpdf 
required 
action = &quot;thumbnail&quot; 
source = &quot;PDF ファイルへの絶対または相対パス名|PDF ドキュメント変数| 
cfdocument 変数&quot; 
optional 
destination = &quot;サムネール画像を書き込むディレクトリパス&quot; 
format = &quot;png|jpeg|tiff&quot; 
imagePrefix = &quot;出力ファイル名の接頭辞として使用する文字列&quot; 
overwrite = &quot;yes|no&quot; 
password = &quot;PDF ソースファイルのパスワード&quot;> 
pages = &quot;サムネールにするページ&quot; 
resolution= &quot;low|high&quot; 
scale = &quot;1 から 100 のパーセンテージ&quot; 
transparent = &quot;yes|no&quot;> 
hires = &quot;yes|no&quot; 
overridepage = &quot;yes|no&quot; 
compresstiffs = &quot;yes|no&quot; 
maxscale = &quot;サムネールの最大スケール&quot; 
maxlength = &quot;サムネールの最大長さ&quot; 
maxbreadth = &quot;サムネールの最大幅&quot;
jpgdpi = &quot;sets the dpi (dots per inch) value of the jpeg image.デフォルト値は 96 dpi です。&quot;

出力ファイルに PDF ドキュメントを書き込む
<cfpdf 
required 
action = &quot;write&quot; 
source = &quot;PDF ファイルへの絶対または相対パス名|PDF ドキュメント変数| 
cfdocument 変数&quot; 
\\次のいずれか
destination = &quot;PDF 出力ファイルのパス名&quot; 
name = #PDF variable# <! ---新しい変数へのサポートが追加されました---> 
optional 
flatten = &quot;yes|no&quot; 
overwrite = &quot;yes|no&quot; 
password = &quot;PDF ソースファイルのパスワード&quot; 
saveOption = &quot;linear|incremental|full&quot; 
version = &quot;1.1|1.2|1.3|1.4|1.5|1.6&quot;> 
encodeall = &quot;yes|no&quot; 

PDF ドキュメントの画質を落とす
<cfpdf 
required 
action = &quot;optimize&quot; 
source = &quot;PDF ファイルへの絶対または相対パス名|PDF ドキュメント変数| 
cfdocument 変数&quot; 
algo = &quot;bilinear|bicubic|nearest_neighbour&quot; <! ---画像のダウンサンプリング用アルゴリズム---> 
pages = &quot;*&quot; <! ----PDF ドキュメントのオブジェクトと関連付けられたページ番号---> 
optional 
vscale= &quot;修正する画像の垂直比率。有効な値は vscale>0&quot; 
hscacle=&quot;修正する画像の水平比率。有効な値は hscale<1&quot; 
destination = &quot;PDF 出力ファイルのパス名&quot; 
name = &quot;PDF ドキュメント変数&quot; 
noattachments = &quot;すべての添付ファイルを無視&quot; 
nobookmarks = &quot;すべてのブックマークを無視&quot; 
nocomments = &quot;すべてのコメントを無視&quot; 
nofonts = &quot;すべてのフォントを無視&quot; 
nojavascripts = &quot;すべての JavaScript アクションを無視&quot; 
nolinks = &quot;外部クロス参照を無視を無視&quot; 
nometadata = &quot;ドキュメント情報およびメタデータを無視&quot; 
nothumbnails = &quot;埋め込みページサムネールを無視&quot; 
overwrite = &quot;true&quot; <! ---PDF ドキュメントの指定オブジェクトを上書き---> 
password = &quot;&quot; <! ---PDF ドキュメントパスワード---> Extract text <cfpdf required action=&quot;extracttext&quot; <! ---PDF のすべての単語を抽出します。---> 
source= &quot;PDF ファイルへの絶対または相対パス名|PDF ドキュメント変数| cfdocument 変数&quot; pages = &quot;*&quot; <! ----PDF ドキュメントからテキストを抽出する必要があるページ番号---> optional addquads = &quot;add the position or quadrants for the text in the PDF&quot; honourspaces = &quot;true|false&quot; overwrite = &quot;true&quot; <! ---PDF ドキュメントの指定オブジェクトを上書き---> 
password = &quot;&quot; <! --- PDF ドキュメントパスワード---> type = &quot;string|xml&quot; <! ---テキストを抽出する必要がある形式---> 次のいずれか: destination = &quot;PDF 出力ファイルのパス名&quot; name = &quot;PDF ドキュメント変数&quot; usestructure = &quot;true|false&quot; Extract image <cfpdf required action = &quot;extractimage&quot; <! ---画像を抽出してディレクトリに保存---> source = &quot;PDF ファイルへの絶対または相対パス名|PDF ドキュメント変数| cfdocument 変数&quot; pages = &quot;*&quot; <! ---画像を抽出する必要があるページ番号---> optional overwrite = &quot;true|false&quot; <! ---true に設定した場合は既存の画像を上書き---> format = &quot;png|tiff|jpg&quot; <! ---画像を抽出する必要がある形式---> imageprefix = &quot;*&quot; <! ---画像名の接頭辞に使用する文字列---> password = &quot;&quot; <! --- PDF ドキュメントパスワード---> destination = &quot;PDF 出力ファイルのパス名&quot; Page level transformations <cfpdf required action = &quot;transform&quot; source = &quot;PDF ファイルへの絶対または相対パス名|PDF ドキュメント変数| cfdocument variable&quot; pages = 変形するページ&quot; optional hscale = &quot;ページの水平スケールの値&quot; overwrite = &quot;yes|no&quot; password = &quot;PDF ソースファイルのパスワード&quot; position = &quot;x, y&quot; <! ---value in pixels---> 
rotation = &quot;0|90|180|270&quot; 
vscale = &quot;変形するページの長さ&quot; 
つぎのいずれか: 
destination = &quot;&quot;PDF ドキュメントの保存先ディレクトリのパス&quot; 
name = &quot;PDF ドキュメント変数&quot;

// redact
<cfpdf action=&quot;redact&quot; source=&quot;ソース PDF ドキュメント&quot; destination=&quot;宛先 PDF ドキュメント&quot; overwrite=&quot;true | false&quot;>
     <cfpdfparam pages=&quot;from page-to page&quot; coordinates=&quot;llx,lly,urx,ury&quot;>
 </cfpdf>
注意:

このタグの属性は attributeCollection 属性で指定でき、その値は構造体になります。attributeCollection 属性で構造体の名前を指定し、タグの属性名を構造体のキーとして使用します。

関連項目

属性

属性

アクション

必須/オプション

説明

action

N/A

オプション

実行するアクション:

archive

addAttachments

addStamp

addWatermark

deletePages

export

getInfo

import

merge

processddx

protect

read

removeWatermark

sanitize

setInfo

sign

thumbnail

write

optimize

extracttext

extractimage

addheader

addfooter

removeheaderfooter

transform

unsign

validatesignature

ColdFusion 11 の新機能 – ドキュメント内のすべての署名を確認します。

name 属性には、この操作の結果として生じる構造体が保存されます。name 属性には 2 つの要素が含まれます。

    • すべての署名が
      有効と見なされたかどうかを示すブール型フィールド。
    • 無効なすべての署名の名前で構成される配列リスト。
      すべての署名が有効である場合、配列リストは空になります。

readsignaturefields

ColdFusion 11 の新機能 - すべての署名フィールドを読み取って、属性名で指定される変数のクエリオブジェクトを返します。
このクエリオブジェクトには 4 つの列があります。

    • Name - 署名フィールドの完全修飾名。
    • Certifiable - このフィールドに作成者署名を含めることができるかどうかを示します。
    • Signable – このフィールドは署名可能かどうかを示します。
    • Is signed – このフィールドは署名済みかどうかを示します。

ColdFusion 2016 の新機能:

  • sanitize
  • export
  • import
  • archive
  • addAttachments
  • addStamp
  • 墨消し

addquads

extracttext

オプション

サムネールの位置および象限を追加します。

align

addheader
addfooter

オプション

PDF のヘッダーとフッターを揃えます。

algo

optimize

必須

画像ダウンサンプリングのアルゴリズムを指定します。値は bilinear、bicubic および nearest_neighbour です。

ascending

merge

オプション

PDF ファイルのソート順です。

yes:ファイルは昇順でソートされます。

no:ファイルは降順でソートされます。
directory 属性を指定している場合にのみ適用できます。

author

sign

オプション

財務関係、法務関係などの規制されたトランザクションを含むビジネストランザクションには、ドキュメントの署名時に高いレベルの保証が必要になります。

  ドキュメントが電子的に配布されるときに、受信者が次の操作を実行できることが重要になります。

ドキュメントの信憑性の検証 – このドキュメントの署名者のアイデンティティを確認できる

ドキュメントの完全性の検証 -
このドキュメントが
送信中に変更されていないことを確認できる

作成者ベースの署名は、これらの両方のセキュリティサービスを提供します。

この属性が指定されていない場合は、
author=false として扱われます。

bottomMargin

addfooter

オプション

bottomMargin の値を指定します。

copyFrom

addWatermark

オプション

透かしとして使用する PDF ドキュメントのパス名です(このドキュメントの最初のページが透かしとして使用されます)。

compresstiffs

thumbnail

オプション

TIFF 形式のサムネールを圧縮します。

ddxfile

processddx

必須

DDX ファイルのパス名または DDX 命令を含む文字列です。

destination

addWatermark archive
deletePages
merge
protect
removeWatermark
sign        setInfo
thumbnail
write
optimize
extracttext
extractimage
addheader
addfooter
removeheaderfooter
transform

 


write アクション
に必須。その他のすべてのアクションでは任意。

変更後の PDF ドキュメントのパス名です。保存先のファイルが既に存在する場合は、overwrite 属性を yes に設定します。
保存先のファイルが存在せず、指定した親ディレクトリが存在する場合は、ColdFusion によってそのファイルが作成されます。
destination 属性と name 属性の両方を指定することはできません。
thumbnail アクションの場合は、画像を書き込むディレクトリパスが保存先になります。保存先ディレクトリの相対パス名を指定する場合は、template ディレクトリからの相対パスを使用します。保存先ディレクトリを指定しない場合は、template ディレクトリの下に thumbnails というサブディレクトリが作成されます。
optimize アクションの場合、保存先は、最適化対象の PDF ドキュメントが存在するパスになります。extracttext および extractimage の場合、保存先は、テキストまたは画像の抽出元となる PDF ドキュメントのパスになります。
addheader、addfooter、removeheaderfooter の場合、保存先は、ヘッダーまたはフッターを追加するか、ヘッダーおよびフッターを削除する PDF ドキュメントのパスになります。
transform の場合、保存先では、ページレベルの変換の実行が必要な PDF ドキュメントのディレクトリパスが指定されます。

directory

merge

オプション

マージする PDF ドキュメントのディレクトリです。directory 属性または source 属性のいずれかを指定します。directory 属性を指定した場合、デフォルトでは、ファイル名の降順でドキュメントの順序が決定されます。ファイルの順序を変更するには、order 属性を使用します。

encodeall

write

オプション

ページ内容を最適化するために、エンコードされていないストリームをエンコードします。

encrypt

protect

オプション

PDF 出力ファイルの暗号化方式です。ColdFusion 2016 では、AES_256R6 と AES_256R5 の 2 つの暗号化アルゴリズムが新たにサポートされます。

  • RC4_40
  • RC4_128
  • RC4_128M
  • AES_128
  • AES_256R6
  • AES_256R5
  • None

メモ:JRE では、「Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files」がインストールされている必要があります。 これは、新しい暗号化アルゴリズムに対してのみ必要です。

詳しくは、PDF ドキュメントの暗号化を参照してください。

flatten

write

オプション

Acrobat で作成されたフォームにのみ適用され、インタラクティブ機能を無効にするかどうかを指定します (LiveCycle で作成されたフォームには適用されません)。

yes:フォームフィールドのインタラクティブ機能が無効になります。

no:フォームフィールドのインタラクティブ機能が保持されます。

foreground

addWatermark

オプション

ページ上の透かしの配置です。

yes:前景(ページコンテンツの上)に透かしが表示されます。

no:背景(ページコンテンツの背後)に透かしが表示されます。

format

thumbnail

オプション

出力するサムネール画像のファイルタイプです。

jpg

tiff

png

hires

thumbnail

オプション

yes に設定されている場合、サムネールに対して高解像度を設定します。

height

sign

オプション

署名フィールドの高さです。

honourspaces

extracttext

オプション

このオプションを "true" に設定すると、読みやすさと間隔調整の精度が向上します。

hscale

optimize

オプション

変更される画像の水平比率です。有効な値は hscale<1 です。

image

addWatermark

オプション

透かしとして使用する画像です。パス名、画像ファイルを含む変数、または ColdFusion 画像変数を指定できます。

imagePrefix

thumbnail

オプション

生成された各画像サムネールファイルに使用する接頭辞です。画像のファイル名には、imagePrefixpagen.format の形式が使用されます。例えば、imagePrefix 属性が myThumbnail に設定されたドキュメントの 1 ページ目から生成されたサムネールは myThumbnail_page_1.jpg という名前になります。

info

setInfo

必須

関連情報の構造体変数です(例:"#infoStruct#")。PDF 出力ファイルの作成者、題名、タイトル、キーワードを指定できます。

inputFiles

processddx

必須

DDX ファイル内の入力変数または要素とパス名の文字列に PDF ソースファイルをマップする構造体です。

isBase64

addWatermark

オプション

image 属性が指定されている場合にのみ有効です。透かしとして使用する画像が Base64 形式であるかどうかを指定します。

yes:画像は Base64 形式です。

no:画像は Base64 形式ではありません。

jpgdpi

addThumbnail

オプション

JPEG 画像の DPI を設定します。デフォルトは 96 dpi です。

keepBookmark

merge

オプション

ソース PDF ドキュメントのブックマークをマージ後のドキュメントでも保持するかどうかを指定します。

yes:ブックマークは保持されます。

no:ブックマークは削除されます。

keyalias

sign

オプション

証明書と秘密キーをキーストアに保存するために使用するキーのエイリアスです。指定しない場合は、キーストアの最初のエントリがエイリアスとして使用されます。

keystore

sign

必須


キーストアファイルの場所。例えば、C:\OpenSSL\bin\keystore.jks です。

keypassword

sign

オプション

秘密キー用のパスワードです。指定しない場合は、keystorepassword が使用されます。

keystorepassword

sign

必須

キーストアのパスワードです。

leftmargin

addheader

オプション

ヘッダの左マージンの値を指定します。

maxbreadth

thumbnail

オプション

サムネールの最大幅を指定します。

maxlength

thumbnail

オプション

サムネールの最大長を指定します。

maxscale

thumbnail

オプション

サムネールの最大スケールを指定します。

name

addWatermark
deletePages
getInfo
merge
processddx
protect
read         
readsignaturefields
removeWatemark
write
tranform
addheader
addfooter
removeheaderfooter

必須:
getInfo
processddx
read readsignaturefields
オプション:
addWatermark
deletePages
merge
protect
removeWatermark
tranform
addheader
addfooter
removeheader
footer

PDF ドキュメント変数名です(例:myBook)。
ソースが PDF ドキュメント変数の場合は、name 属性を再度指定することはできません。変更後の PDF ドキュメントを保存先に書き込むことができます。
destination 属性と name 属性の両方を指定することはできません。
processddx アクションの場合、名前は出力変数の成功または失敗を示す構造体を表します。

readsignaturefields アクションの場合、名前はソース PDF ドキュメント内にあるすべての署名フィールドの情報を示す構造体を表します。

 

newOwner
Password

protect

オプション(「説明」を参照)

PDF ドキュメントのアクセス許可を設定するためのパスワードです。
デフォルトのアクセス許可を変更するには、newOwnerPassword 属性を指定します。詳細については、「PDF ドキュメントのパスワード」を参照してください。

newUser
Password

protect

オプション(「説明」を参照)

PDF ドキュメントを開くためのパスワードです。newUserPassword 属性または newOwnerPassword 属性のいずれかを指定します。両方を指定する場合は、異なるパスワードを使用する必要があります。詳細については、「PDF ドキュメントのパスワード」を参照してください。

noattachments

thumbnail

オプション

PDF ドキュメントからすべての添付ファイルを削除します。

noattachments

optimize

オプション

すべてのファイル添付を削除します。

nobookmarks

optimize

オプション

PDF ドキュメントからブックマークを削除します。

nocomments

optimize

オプション

PDF ドキュメントからコメントを削除します。

nofonts

optimize

オプション

フォントのスタイル設定を削除します。

nojavascripts

optimize

オプション

ドキュメントレベルのすべての JavaScript アクションを削除します。

nolinks

optimize

オプション

外部相互参照を削除します。

nometadata

optimize

オプション

ドキュメント情報およびメタデータを削除します。

nothumbnails

optimize

オプション

埋め込みページサムネールを削除します。

numberformat

addfooter

オプション

フッターの PDF ページの自動番号形式を指定します。

opacity

addWatermark
addheader
addfooter

オプション

透かしの不透明度です。有効な値は 0 (透明) ~ 10 (不透明) の整数です。

order

merge

オプション

ディレクトリ内の PDF ドキュメントをマージする順序です。

name:ドキュメントはファイル名のアルファベット順でマージされます。

time:ドキュメントはタイムスタンプ順でマージされます。
デフォルトでは、降順で(例えば Z ~ A の順で)ファイルがマージされます。これを変更するには、ascending 属性を yes に設定します。

outputFiles

processddx

必須

キーとして DDX ファイルまたは文字列で指定された出力ファイルを含み、値として結果ファイルのパス名を含む構造体です。

overwrite

addSign addWatermark
archive
deletePages
merge
protect
removeWatermark
Sign        setInfo
thumbnail
write
tranform
addheader
addfooter
removeheaderfooter

オプション

保存先のファイルが既に存在する場合、PDF 出力で上書きするかどうかを指定します。

yes:書き込み先のファイルを上書きします。

no:書き込み先のファイルを上書きしません。
thumbnail アクションの場合は、保存先ディレクトリを上書きするかどうかを指定します。overwrite を yes に設定せず、保存先のディレクトリが既に存在する場合、サムネールは生成されません。

package

merge

オプション

PDF パッケージを作成します。

pages

addWatermark
deletePages
merge
removeWatermark
optimize
extracttext
extractimage     sign
addheader
addfooter
removeheaderfooter
transform

必須:
deletePages
オプション:
addWatermark
merge
removeWatermark
thumbnail
optimize
extractext
extractimage
tranform
addheader
addfooter
removeheader
footer

アクションの対象となるソース PDF ドキュメントのページです。"1,6-9,56-89,100, 110-120" のような形式で、複数のページまたはページ範囲を指定できます。
removeWatermark アクションの場合、pages 属性は透かしタイプにのみ適用されます。重複するページ番号および総ページ数より大きい番号は無視されます。action=sign の場合、pages 属性の値は 1 つのページ番号だけで構成する必要があります。

 

password

addWatermark addSign     
archive
deletePages
getInfo
merge
protect
read readsignaturefields
removeWatermark
setInfo             sign
thumbnail         unsign
write
optimize
extracttext
extractimage
addheader
addfooter
removeheaderfooter validatesignaturefields
transform

オプション

ソース PDF ドキュメントのオーナーパスワードまたはユーザーパスワードです (ドキュメントがパスワードで保護されている場合)。

permissions

protect

オプション

PDF ドキュメントに対するアクセス許可のタイプ:

All

AllowAssembly

AllowCopy

AllowDegradedPrinting

AllowFillIn

AllowModifyAnnotations

AllowModifyContents

AllowPrinting

AllowScreenReaders

AllowSecure

None
All と None 以外のアクセス許可は、カンマ区切りのリストで指定できます。
アクセス許可を設定するには、newOwnerPassword 属性も設定する必要があります。

position

addWatermark             sign

オプション

 position 属性は、署名フィールドの左下隅の座標を表します。

resolution

thumbnail

オプション

サムネール画像の生成に使用する画質です。

high:高解像度を使用します
(メモリ使用量が多くなります)。

low:低解像度を使用します。

rotation

addWatermark
transform

オプション

ページ上の透かし画像を回転させる角度です(例:"30")。

saveOption

write

オプション

PDF 出力の保存オプションです。

full:通常の保存(デフォルト)

incremental:署名付き PDF ドキュメントの変更を保存する場合に必須

linear:表示を高速化する場合

scale

thumbnail

オプション

ソースページを基準としたサムネールのサイズです。1 ~ 100 のパーセントで指定します。

showOnPrint

addWatermark

オプション

PDF ドキュメントとともに透かしを印刷するかどうかを指定します。

yes:PDF ドキュメントとともに透かしを印刷します。

no:透かしは表示専用になります。

signature
fieldname

sign                                         unsign

オプション

ユーザーが署名をする署名フィールドの名前、またはユーザーが署名を解除する署名フィールドの名前です。

source

archive      addWatermark
deletePages
getInfo
merge
protect
read
removeWatermark
setInfo              sign
thumbnail
write
optimize
extracttext
extractimage
addheader
addfooter
removeheaderfooter
unsign
transform

必須(
merge については、「使用方法」を参照してください)。

ソースとして使用する PDF ドキュメントです。指定できるソースは次のいずれかです。

PDF ドキュメントの絶対パス名または相対パス名 (例 : c:¥work¥myPDF.pdf または myPDF.pdf)。

cfdocument タグまたは cfpdf タグによってメモリ内に生成される PDF ドキュメント変数(例:"myPDFdoc")。

stopOnError

merge

オプション

directory 属性が指定されている場合にのみ有効です。指定したディレクトリに ColdFusion で読み込み可能な PDF ファイル以外のファイルが含まれている場合にマージ処理を停止するか続行するかを指定します。

yes:指定したディレクトリに無効な PDF ファイルが存在する場合、マージ処理を停止します。

no:指定したディレクトリに無効なファイルが存在する場合でも、マージ処理を続行します。

transparent

thumbnail

オプション

(format="png" のみ)画像の背景を透明にするか不透明にするかを指定します。

yes:背景は透明です。

no:背景は不透明です。

unsignall

 unsign

オプション

ドキュメント内のすべての署名を解除します。

useStructure

extracttext

オプション

PDF の構造に基づいて内容を抽出できます。この属性と同時に honourspaces 属性を使用すると、抽出されたテキストの読みやすさが向上します。

version

write

オプション

ドキュメントの書き込みに使用する PDF のバージョンです。

1.1

1.2

1.3

1.4

1.5

1.6
詳細については、「PDF バージョン」を参照してください。

width

sign

オプション

署名フィールドの幅です。

 

注意:

PDF ソースドキュメントに変更を加える場合は、source 属性と destination 属性で同じファイルパス名を指定し、overwrite 属性を yes に設定します。

ColdFusion を使用して作成された署名付きの PDF をアーカイブすると、Adobe Acrobat で開いたときに異常動作します。このドキュメントをアーカイブ用に修正するには、Acrobat のセキュリティオプションの「文書の変更」権限を有効にしてください。

使用方法

cfpdf タグを使用すると、既存の PDF ドキュメントを操作したり、マージしたりすることができます。cfpdf タグは Acrobat で使用可能な多くの機能を提供しますが、このタグを使用して別のファイル形式から PDF ドキュメントを生成することはできません。HTML および CFML コンテンツから PDF 出力を作成するには、cfdocument タグを使用します。
cfpdf タグを cfdocument タグ内に埋め込んだり、cfdocument タグを cfpdf タグ内に埋め込んだりすることはできません。ただし、cfdocument タグの出力を変数に書き込み、その変数を cfpdf タグに渡すことは可能です。次の例では、cfdocument タグを使用して表紙を作成し、それを別の PDF ドキュメントとマージする方法を示します。

<! --- ドキュメントタを使用してカバーページを作成し、cfdoc と呼ばれる変数に出力を書き込みます。---> 
<cfdocument format=&quot;PDF&quot; name=&quot;cfdoc&quot;> <html> <body> <h1>カバーページです</h1> </body> </html> </cfdocument> 

<! ---cfpdf タグと cfpdfparam タグを使用し、個別の PDF ドキュメントを、new.pdf と呼ばれる新しい PDF ドキュメントに結合します。cfdocument タグを使用して作成された cfdoc 変数は最初の cfpdfparam タグのソース値です。---> 
<cfpdf action=&quot;merge&quot; destination=&quot;/samtemp/pdfs/new.pdf&quot; overwrite=&quot;yes&quot;> <cfpdfparam source=&quot;cfdoc&quot;> <cfpdfparam source=&quot;/samtemp/pdfs/pdf2.pdf&quot;> <cfpdfparam source=&quot;/samtemp/pdfs/pdf1.pdf&quot;> </cfpdf>

cfpdf タグを使用して、インタラクティブ機能を持つ PDF フォームファイルを 1 つの PDF ドキュメントにマージし、write アクションで flatten 属性を指定すると、Acrobat で作成されたフォームからインタラクティブ機能を除去できます。PDF フォームのデータを処理するには、cfpdfform および関連タグを使用します。cfpdf タグを使用して、Adobe LiveCycle Designer ES で作成されたフォームをフラット化することはできません。

PDF ファイルの読み込みと書き込み

cfpdf タグには、PDF ファイルの読み込みと書き込みに関する様々なオプションがあります。PDF 変数または PDF ファイルをソースとして指定し、変数またはファイルに出力を書き込むことができます (ただし、両方を行うことはできません)。次の表で、読み込みおよび書き込みの操作について説明します。

タスク

属性

ソース PDF ファイルを上書きする

source 属性で PDF ファイルのパス名を指定し、destination 属性を指定しない

<cfpdf action="addWatermark" source="myPDF.pdf" image="myImage.jpg">

メモリ内の PDF ドキュメントをファイルに書き込む

source 属性で PDF 変数を指定し、destination 属性で PDF ファイルのパス名を指定する

<cfpdf action="addWatermark" source="myPDF" image="myImage.jpg" destination="outputFile.pdf">

PDF ドキュメントを新規ファイルに書き込む

source 属性で PDF ファイルのパス名を指定し、destination 属性で別の PDF ファイルのパス名を指定する

<cfpdf action="addWatermark" source="sourceFile.pdf" image="myImage.jpg" destination="outputFile.pdf">

PDF ファイルを PDF 変数に書き込む

source 属性で PDF ファイルのパス名を指定し、name 属性で PDF 変数を指定する

<cfpdf action="addWatermark" source="sourceFile.pdf" image="myImage.jpg" name="myPDF">

メモリ内の PDF ドキュメントを上書きする

source 属性で PDF 変数名を指定し、destination 属性を指定しない

<cfpdf action="addWatermark" source="myPDF" image="myImage.jpg">

メモリ内の PDF ファイルの操作

ColdFusion では、name 属性を使用して PDF ファイルを変数に書き込むことができます。この方法は、ドキュメントに対して複数の操作を実行してからファイルに書き込む場合に便利です。ただし、この方法は多くのメモリを消費するので、小さなファイルを操作する場合にのみ使用してください。大きな PDF ドキュメントを操作する場合は、PDF ドキュメントをファイルに書き込みます。ソースとして変数を指定する場合は、name 属性を指定しないことを推奨します。name 属性を指定するとコピーが作成されるので、処理速度が低下します。ほとんどの場合、ファイルに書き込んだ後でも変数を再利用できるので、name 属性を指定する必要はありません。

注意:

try/catch ブロック内で PDF 変数を使用してエラーが発生した場合は、エラーの発生後にその変数を使用できなくなります。

PDF ドキュメントの印刷

cfprint タグを使用すると、PDF ドキュメントを印刷できます。ただし、注釈、コメント、編集者による校正などのマークアップは印刷されません。

  • addWatermark アクション PDF ドキュメント内の指定したページに透かしを追加するには、addwatermark アクションを使用します。次のいずれかの方法で透かしを追加できます。
    • 別の PDF ドキュメントの最初のページを透かしとして使用します。画像を拡大せずに、copyfrom で指定したページがソースドキュメントの上に重ねられます。
    • 透かしとして使用する画像ファイルを指定します。
    • 画像変数を使用してメモリ内の画像を指定します。
      次のコードは、PDF ドキュメントの最初のページを透かしとして使用する方法を示しています。

<cfpdf action=&quot;addWatermark&quot; source=&quot;c:\myBook.pdf&quot; copyFrom=&quot;e:\yourBook.pdf&quot; destination=&quot;ourBook.pdf&quot; overwrite=&quot;yes&quot;>

デフォルトでは、出力ファイルのすべてのページに透かしが適用され、透かし画像がページの中央に配置されます。次のコードは、JPEG 画像を透かしとして使用し、出力ファイルの最初のページに透かしを適用します。

<cfpdf action=&quot;addWatermark&quot; source=&quot;Book.pdf&quot; image=&quot;../cfdocs/images/artgallery/paul01.jpg&quot; destination=&quot;newBook.pdf&quot; pages=&quot;1&quot; overwrite=&quot;yes&quot;>

ColdFusion 画像を透かしとして指定するには、cfimage タグまたは Image 関数を使用します。addwatermark アクションでは、RGB および ARGB 画像もサポートされます。特に、cfimagetag タグおよび関連する関数を使用して追加された画像もサポートされます。次の例では、画像をグレースケールに変換し、それを透かしとして PDF ファイルに適用します。

<! ---ImageNew 関数を使用して JPEG ファイルから ColdFusion 画像を作成します。---> 
<cfset myImage=ImageNew(&quot;../cfdocs/images/artgallery/jeff05.jpg&quot;)>

<! ---ImageGrayscale 関数を使用して画像をメモリーでグレースケールに変換します。---> 
<cfset ImageGrayscale(myImage)> 

<! --- 画像変数を指定し、グレースケール画像を Book.pdf ファイルの透かしとして適用します。ソースと宛先が同じなので、上書き属性は yes に設定され、ColdFusion はソースファイルを上書きします。---> 
<cfpdf action=&quot;addWatermark&quot; source=&quot;Book.pdf&quot; destination=&quot;Book.pdf&quot; overwrite=&quot;yes&quot; image=&quot;#myImage#&quot;>

ColdFusion 画像について詳しくは、『ColdFusion アプリケーションの開発』の ColdFusion 画像の作成と操作を参照してください。

  • addfooter このアクションは、PDF ドキュメントにフッターを追加する場合に使用します。次のコードのように、PDF ドキュメントが存在するソースと、フッターのある新規 PDF ドキュメントの保存先を指定します。

<cfpdf action = &quot;addfooter&quot; source = &quot;../myBook.pdf&quot; destination = &quot;../myBookwithfooter.pdf&quot; image = &quot;adobelogo.JPG&quot; // この属性を使用してフッターに画像を追加 
align = &quot;right&quot;> // デフォルトの配置は中央

また、フッターに挿入する画像やテキストに加え、align、bottommargin、leftmargin、numberformat、opacity などの様々な属性も指定できます。

  • addheader このアクションは、PDF ドキュメントにヘッダーを追加する場合に使用します。次のコードのように、PDF ドキュメントのソースおよび保存先を指定し、ヘッダーに挿入するテキストまたは画像を指定します。

<cfpdf action = &quot;addheader&quot; 
source = &quot;../myBook.pdf&quot; 
destination = &quot;../myBookwithheader.pdf&quot; 
text = &quot;Adobe&quot; 
align = &quot;left&quot;>
  • deletePages アクション 指定した PDF ドキュメントからページを削除するには、deletePages アクションを使用します。次のように、単一のページ、ページ範囲またはカンマ区切りリストを指定できます。
<cfpdf action=&quot;deletePages&quot; source=&quot;c:\myBook.pdf&quot; pages=&quot;1,16-32,89,100-147&quot; destination=&quot;myLittleBook.pdf&quot;>
  • extracttext extracttext アクションは、次のコードのように、PDF ドキュメント内の指定されたページ番号からのすべての単語を抽出する場合に使用します。
<cfpdf action = &quot;extracttext&quot; source = &quot;../myBook.pdf&quot; pages = &quot;5-20, 29, 80&quot; destination = &quot;../adobe/textdoc.txt&quot;
  • extractimage extractimage アクションは、次のコードのように、PDF ドキュメント内の指定されたページ番号からすべての画像を抽出する場合に使用します。
<cfpdf action = &quot;extractimage&quot; source = &quot;../myBook.pdf&quot; pages = &quot;1-200&quot; destination = &quot;..\mybookimages&quot; imageprefix = &quot;mybook&quot;>

抽出された画像は、destination 属性で指定したディレクトリに保存されます。抽出する画像に追加する接頭辞(imageprefix)を指定できます。これを指定しない場合は、システムによって追加されます。

  • PDF ドキュメントに関する情報(作成者、タイトル、作成日など)を取得するには、アクションを使用します。次のように、ファイルに関するデータを含む構造体変数の名前を指定します。

<cfpdf action=&quot;getInfo&quot; source=&quot;myBook.pdf&quot; name=&quot;PDFInfo&quot;> 
<p><cfoutput>#PDFInfo.title#</cfoutput></p> 
<p><cfoutput>#PDFInfo.author#</cfoutput></p> 
<p><cfoutput>#PDFInfo.keywords#</cfoutput></p> 
<p><cfoutput>#PDFInfo.created#</cfoutput></p>

情報要素の完全なリストを表示するには、次のように cfdump タグを使用します。

<cfdump var=&quot;#PDFInfo#&quot;>
注意:

パスワードで保護されている PDF ドキュメントのアクセス許可を表示するには、(オーナーパスワードではなく)ユーザーパスワードを指定します。オーナーパスワードを指定した場合、アクセス許可はすべて Allowed に設定されます。

PDF ドキュメントの品質の低下

optimize アクションは、PDF ドキュメント内の画像をダウンサンプルし、未使用のオブジェクトを破棄する場合に使用します。

  • optimize PDF ドキュメント内の画像をダウンサンプルするには、algos 属性を、bilinear、bicubic および nearest_neighbour の値とともに使用します。次のコードでは、画像のダウンサンプリング後の PDF が生成されます。

<cfpdf action = &quot;optimize&quot; algo = &quot;bicubic&quot; source &quot;..\myBook.pdf&quot; name = #mybook#>

また、optimize アクションで次の属性を使用して、コメント、JavaScript、添付ファイル、ブックマーク、メタデータなどの未使用のオブジェクトを PDF ドキュメントから破棄することもできます。

<cfpdf action = &quot;optimize&quot; 
noJavaScripts 
noThumbnails 
noBookmarks 
noComments 
noMetadata 
noFileAttachments 
noLinks 
nofonts>

PDF ドキュメント内のページの変換

1 つのページのサイズを拡大または縮小し、PDF ドキュメント内の複数のページの位置や回転の値を指定できます。

  • transform transform アクションには、ページのサイズ(hscale、vscale)、位置(position)および回転(rotation)を定義する 4 つの属性があります。次のコードに使用法を示します。

<cfpdf action = &quot;transform&quot; 
required 
source = &quot;..\myBook.pdf&quot; 
optional 
destination = &quot;..\new\myBook.pdf&quot;> 
hscale = &quot;.5&quot; 
vscale = &quot;.15&quot; 
position = &quot;8, 10&quot; 
rotation = &quot;180&quot;>

回転の値は、0、90、180、270 の段階で指定する必要があります。その他の値を指定すると、エラーが発生します。

PDF ファイルの情報要素

次の表に、getinfo アクションで取得できる情報要素を示します。

要素

説明

Application

Acrobat PDFMaker 7.0.7 for Word

PDF ドキュメントの作成に使用されたアプリケーションです。この値は読み取り専用です。

Author

Harper Lee

PDF ドキュメントの作成者です。setInfo アクションでテキスト文字列を指定できます。

CenterWindowOnScreen

空の文字列

PDF ドキュメントを最初に開いたときの表示設定です。この設定を変更するには、DDX 要素 InitialViewProfile とともに processddx アクションを使用します。

ChangingDocument

Not Allowed

PDF コンテンツの編集に関して割り当てられたアクセス許可です。この設定を変更するには、protect アクションとともに permissions 属性を使用します。

Commenting

Allowed

PDF ドキュメントへのコメントの追加に関して割り当てられたアクセス許可です。この設定を変更するには、protect アクションとともに permissions 属性を使用します。

ContentExtraction

Allowed

PDF ドキュメントからのコンテンツの抽出に関して割り当てられたアクセス許可です。この設定を変更するには、protect アクションとともに permissions 属性を使用します。

CopyContent

Allowed

PDF ドキュメントからのコンテンツのコピーに関して割り当てられたアクセス許可です。この設定を変更するには、protect アクションとともに permissions 属性を使用します。

Created

D:20061121155226-05'00'

システムによって生成された、PDF ドキュメントの作成日です。setInfo アクションでテキスト文字列を指定できます。

DocumentAssembly

Not Allowed

他の PDF ドキュメントとのマージに関して割り当てられたアクセス許可です。この設定を変更するには、protect アクションとともに permissions 属性を使用します。

Encryption

Password Security

PDF ファイルがパスワードで保護されているかどうかを示します。暗号化アルゴリズムを変更する場合、またはパスワードを追加する場合は、protect アクションを使用します。

FilePath

C:¥ColdFusion¥wwwroot¥lion¥myDoc.pdf

PDF ファイルの絶対パス名です。この値は読み取り専用です。

FillingForm

Allowed

フォームフィールドへのデータ入力に関して割り当てられたアクセス許可です。この設定を変更するには、protect アクションとともに permissions 属性を使用します。

FitToWindow

空の文字列

PDF ドキュメントを最初に開いたときの表示設定です。この設定を変更するには、DDX 要素 InitialViewProfile とともに processddx アクションを使用します。

HideMenubar

空の文字列

PDF ドキュメントを最初に開いたときの表示設定です。この設定を変更するには、DDX 要素 InitialViewProfile とともに processddx アクションを使用します。

HideToolbar

空の文字列

PDF ドキュメントを最初に開いたときの表示設定です。この設定を変更するには、DDX 要素 InitialViewProfile とともに processddx アクションを使用します。

HideWindowUI

空の文字列

PDF ドキュメントを最初に開いたときの表示設定です。この設定を変更するには、DDX 要素 InitialViewProfile とともに processddx アクションを使用します。

Keywords

marketing,sales,production

PDF ドキュメントの検索用キーワードです。setInfo アクションでキーワードのカンマ区切りリストを指定できます。

Language

EN-US

PDF ドキュメントのソースファイルの作成に使用された言語バージョンです。この値は読み取り専用です。

Modified

D:20061121155226-06'00'

システムによって生成された、PDF ファイルの最終変更日のタイムスタンプです。setInfo アクションでテキスト文字列を指定できます。

PageLayout

OneColumn

PDF ドキュメントを最初に開いたときの表示設定です。この設定を変更するには、DDX 要素 InitialViewProfile とともに processddx アクションを使用します。

Printing

Allowed

ドキュメントの印刷に関して割り当てられたアクセス許可です。この設定を変更するには、protect アクションとともに permissions 属性を使用します。

Producer

Acrobat Distiller 7.0.5 (Windows)

PDF ドキュメントの生成に使用された Acrobat Distiller のバージョンです。この値は読み取り専用です。

Properties

空の文字列

この値は読み取り専用です。

Secure

Not Allowed

PDF ドキュメントがパスワードで保護されているかどうかを示す表示設定です。

ShowDocumentsOption

空の文字列

PDF ドキュメントを最初に開いたときの表示設定です。この設定を変更するには、DDX 要素 InitialViewProfile とともに processddx アクションを使用します。

ShowWindowsOption

空の文字列

PDF ドキュメントを最初に開いたときの表示設定です。この設定を変更するには、DDX 要素 InitialViewProfile とともに processddx アクションを使用します。

Signing

Allowed

PDF ドキュメントへの電子署名の追加に関して割り当てられたアクセス許可です。この設定を変更するには、protect アクションとともに permissions 属性を使用します。

Subject

製品マーケティング

PDF ドキュメントに割り当てられた題名です。setInfo アクションでテキスト文字列を指定できます。

Title

第 1 章 : はじめに

PDF ドキュメントに割り当てられたタイトルです。setInfo アクションでテキスト文字列を指定できます。

TotalPages

25

PDF ドキュメントの総ページ数です。この値は読み取り専用です。

Trapped

空の文字列

PDF ドキュメントにトラッピングを適用するかどうかを示します。トラッピングとは、隣合う 2 つインク色の隙間をなくすための印刷技術です。setInfo アクションでテキスト文字列を指定できます。

Version

1.6

PDF ドキュメントの作成に使用された Adobe PDF Generator のバージョンです。この設定を変更するには、write アクションとともに version 属性を使用します。詳細については、「PDF バージョン」を参照してください。

  • merge アクション 複数の PDF ドキュメント、または PDF ソースファイルのページを 1 つの出力ファイルにマージするには、merge アクションを使用します。次のコードは、指定したディレクトリに存在するすべての PDF ファイルをマージする方法を示しています。
<cfpdf action=&quot;merge&quot; directory=&quot;c:\myPDFfiles&quot; destination=&quot;oneBigFile.pdf&quot; 
overwrite=&quot;yes&quot;>

デフォルトでは、タイムスタンプの降順でファイルがマージされます。次のコードは、ソースファイルをファイル名の降順でマージする方法を示しています。

<cfpdf action=&quot;merge&quot; directory=&quot;c:\book&quot; order=&quot;name&quot; ascending=&quot;yes&quot; destination=&quot;c:\book\output1.pdf&quot; overwrite=&quot;yes&quot;>

この方法は、ソースファイルに Chap0.pdf、Chap1.pdf、Chap2.pdf のような名前が付いている場合に便利です。デフォルトでは、指定したディレクトリ内で有効な PDF ドキュメント以外のファイルが検出された場合でも、マージ処理は継続されます。指定したディレクトリに有効な PDF ドキュメント以外のファイルが含まれている場合にマージを停止するには、次のように stopOnError 属性を yes に設定します。

<cfpdf action=&quot;merge&quot; directory=&quot;c:\bookfiles&quot; destination=&quot;book.pdf&quot; overwrite=&quot;yes&quot; order=&quot;name&quot; ascending=&quot;yes&quot; keepBookmark=&quot;yes&quot; stopOnError=&quot;yes&quot;>

ドキュメント内の特定のページから PDF ファイルを作成するには、pages 属性とともに source 属性を使用します。次のコードは、ソースドキュメントの 1 ~ 5 ページ目からファイルを作成する方法を示しています。

<cfpdf action=&quot;merge&quot; source=&quot;myBigBook.pdf&quot; pages=&quot;1-5&quot; destination=&quot;myShortBook.pdf&quot; overwrite=&quot;yes&quot;>

複数のファイルを 1 つのドキュメントにマージするには、次のようにファイルの絶対パス名をカンマ区切りリストで指定します。

<cfpdf action=&quot;merge&quot; source=&quot;c:\PDFdocs\myBook\Chap1.pdf, c:\PDFdocs\myBook\Chap2.pdf,c:\PDFdocs\myBook\Chap3,pdf&quot; destination=&quot;myBook.pdf&quot; package = &quot;true&quot; overwrite=&quot;yes&quot;>

これで、package = "true" 属性を merge アクションとともに使用して PDF パッケージを作成できるようになります。ファイルのマージ順をさらに詳細に指定したり、異なる場所にあるファイルをマージしたり、複数の PDF ファイルからページを抽出したりするには、merge アクションとともに cfpdfparam タグを使用します。PDF ファイルのマージの詳細については、『ColdFusion アプリケーションの開発』の PDF ドキュメントの組み立てを参照してください。
cfpdf action="merge"cfpd および package="yes" を指定した場合は、すべてのファイル形式をソースとして使用できます。次のコード例では、ソースとして ZIP および JPEG ファイル形式を使用しています。

<cfpdf action=&quot;merge&quot; package=&quot;yes&quot; destination=&quot;./myBook/adobetest.pdf&quot; overwrite=&quot;yes&quot;> 
<cfpdfparam source=&quot;./inputFiles/c.zip&quot; > 
<cfpdfparam source=&quot;./inputFiles/d.jpg&quot; > 
</cfpdf>
  • processddx アクション Document Description XML(DDX)命令を処理して複数の PDF ファイルをマージするには、proccessddx アクションを使用します。DDX とは、Adobe LiveCycle Assembler で使用される宣言型マークアップ言語です。DDX 命令を使用すると高度なタスクを実行できます。例えば、目次ページ、ヘッダー、フッター、自動ページ番号、テキスト文字列の透かしなどを PDF ドキュメントに追加できます。ColdFusion には、一部の LiveCycle Assembler 機能が組み込まれています。以下の節にある表を参照して、ColdFusion で実行できるタスクを確認し、LiveCycle Assembler を購入する必要があるかどうかを検討してください。
    DDX の完全なシンタックスについては、『Adobe LiveCycle Assembler Document Description XML Reference』を参照してください。

サポートされる DDX 要素

次の表に、ColdFusion でサポートされる DDX 要素を示します。

About

Author

Background

Center

DatePattern

DDX

DocumentInformation

DocumentText

Footer

Header

InitialViewProfile

Keyword

Keywords

Left

MasterPassword

Metadata

NoBookmarks

OpenPassword

PageLabel

Password

PasswordAccessProfile

PasswordEncryptionProfile

PDF (「注意」を参照)

PDFGroup

Permissions

Right

StyledText

StyleProfile

Subject

TableOfContents

TableOfContentsEntryPattern

TableOfContentsPagePattern

Title

Watermark

 

 

注意:

ColdFusion では、PDF 要素の certification および mergeLayers 属性はサポートされていません。

サポートされない DDX 要素

ColdFusion 11 の新機能 - 以下のサポートされない DDX 要素は、ColdFusion 11 Enterprise Edition でサポートされます。

ColdFusion 10 以前を使用している場合、以下の DDX 要素は ColdFusion に含まれていません。

ArtBox

AttachmentAppearance

Bookmarks

BlankPage

BleedBox

Comments

Description

FileAttachments

FilenameEncoding

LinkAlias

Links

NoBackgrounds

NoComments

NoFileAttchments

NoFooters

NoForms

NoHeaders

NoLinks

NoPageLabels

NoThumbnails

NoWatermarks

NoXFA

PageMargins

PageSize

PageRotation

PageOverlay

PageUnderlay

PDFsFromBookmarks

Transform

TrimBox

簡単な DDX 命令

DDX 命令は任意のテキストエディタで作成でき、DDX の拡張子を付けてファイルに保存できます。次のコードは、複数のドキュメントをマージし、ソース PDF ドキュメントのブックマークを使用して目次を生成する DDX 命令の例です。

<?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> 
<DDX xmlns=&quot;http://ns.adobe.com/DDX/1.0/&quot; 
xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:schemaLocation=&quot;http://ns.adobe.com/DDX/1.0/ coldfusion_ddx.xsd&quot;> 
<PDF result=&quot;Out1&quot;> 
<PDF source=&quot;Title&quot;/> 
<TableOfContents/> 
<PDF source=&quot;Doc1&quot;/> 
<PDF source=&quot;Doc2&quot;/> 
<PDF source=&quot;Doc3&quot;/> 
</PDF> 
</DDX>

ColdFusion での DDX 命令の処理

以下のコードを使用すると、ColdFusion で DDX 命令が処理されます。

<! --- 以下のコードは DDX ファイルが存在し、DDX 命令が有効であることを検証します。---> 
<cfif IsDDX(&quot;Book.ddx&quot;)> 

<! --- 以下のコードは DDX ファイル内の PDF ソース変数に PDF ソースファイルをマッピングします。---> 
<cfset inputStruct=StructNew()> <cfset inputStruct.Title=&quot;Title.pdf&quot;> <cfset inputStruct.Doc1=&quot;Chap1.pdf&quot;> <cfset inputStruct.Doc2=&quot;Chap2.pdf&quot;> <cfset inputStruct.Doc3=&quot;Chap3.pdf&quot;> 

<! --- 以下のコードは DDX ファイル内の PDF 結果変数に PDF 出力ファイルをマッピングします。---> 
<cfset outputStruct=StructNew()> <cfset outputStruct.Out1=&quot;output.pdf&quot;> 

<! --- 以下のコードは Book.ddx ファイルで DDX 命令を処理して結合されたドキュメントを生成します。---> 
<cfpdf action=&quot;processddx&quot; ddxfile=&quot;Book.ddx&quot; inputfiles=&quot;#inputStruct#&quot; outputfiles=&quot;#outputStruct#&quot; name=&quot;ddxVar&quot;> <cfelse> <p>DDX 命令は有効ではありません。</p> 
</cfif>  
<! ---以下のコードは成功または失敗メッセージを表示します。---> 
<cfoutput>#ddxVar.Out1#</cfoutput>

name 属性は、処理が成功したかどうかを確認するための変数を定義します。成功または失敗のメッセージを表示するには、上の例のように cfoutput タグを使用します。また、構造体を表示するには、次の例のように cfdump タグを使用します。

<cfdump var=&quot;#ddxVar#&quot;>

このコードは、構造体で指定されている出力ファイルごとに次の情報を返します。

  • "Successful":ファイルが正常にマージされた場合。
  • "Reason for failure":ファイルが正常にマージされず、失敗の理由が判明している場合。
  • "Failure":ファイルが正常にマージされず、失敗の理由が不明の場合。
    DDX ファイルまたは一連の DDX 命令が有効であるかどうかを検証するには、IsDDX 関数を使用します。
    詳細な例については、『ColdFusion アプリケーションの開発』の PDF ドキュメントの組み立てを参照してください。
  • protect アクション PDF 出力ファイルのパスワードによる保護、アクセス許可の設定または PDF 出力ファイルの暗号化を行うには、protect アクションを使用します。protect アクションを使用する場合は、newUserPassword または newOwnerPassword を設定します(両方を設定する場合は、異なるパスワードを指定する必要があります)。ドキュメントにユーザーパスワードを割り当てると、その PDF ドキュメントを開くときに、すべてのユーザーがこのパスワードを使用する必要があります。次のコードは、PDF ドキュメントにユーザーパスワードを追加します。

<cfpdf action=&quot;protect&quot; source=&quot;Finances.pdf&quot; destination=&quot;myFinances.pdf&quot; newUserPassword=&quot;keepOut&quot;>

出力ファイルのアクセス許可を設定するには、newOwnerPassword を設定します。PDF ファイルにアクセスする際にオーナーパスワードを入力したユーザーは、そのファイルのオーナーと見なされます。次の例は、新しいオーナーパスワードを設定する方法を示しています。

<cfpdf action=&quot;protect&quot; encrypt=&quot;AES_128&quot; source=&quot;Book.pdf&quot; destination=&quot;MysteryBook.pdf&quot; overwrite=&quot;yes&quot; newOwnerPassword=&quot;pssst&quot; permissions=&quot;AllowDegradedPrinting&quot;>

この例では、アクセス許可が AllowDegradedPrinting に設定されているので、ユーザーは 150 DPI でドキュメントを印刷できますが、その他のアクションはすべて禁止されます。例えば、ユーザーがファイルを削除しようとすると、入力されたパスワードが正しくないことを示すエラーメッセージ、またはそのアクションが許可されていないことを示すエラーメッセージが表示されます。ColdFusion ではアクセス許可が保持されません。newUserPassword 属性を追加した場合は、アクセス許可も明示的に設定する必要があります。
myVar を使用するには、パスワードとして newownerpw を指定します。

PDF ドキュメントのパスワード

PDF ドキュメントには、ユーザーパスワードとオーナーパスワードという 2 種類のパスワードを設定できます。次の表で、2 種類の ColdFusion パスワードと、それらに相当する Acrobat パスワードについて説明します。

ColdFusion パスワード

相当する Acrobat パスワード

説明

ユーザーパスワード

ドキュメントを開くパスワード、ユーザーパスワード

その PDF ドキュメントを開くときに、すべてのユーザーが指定されたパスワードを入力する必要があります。ユーザーパスワードを入力した場合、PDF ドキュメント内で制限されている機能を変更することはできません。

オーナーパスワード

権限パスワード、マスタパスワード

このパスワードを入力したユーザーは、PDF ドキュメント内の機能へのアクセスを制限することができます。

PDF を保護すると、指定したパスワードに変更されます。ColdFusion の変数に保存されているパスワードは、指定されたパスワードに更新されます。ただし、両方のパスワードを指定した場合は、オーナーパスワードが使用されます。PDF を保護するには、次のように設定します。

<cfpdf action=&quot;protect&quot; source=&quot;myVar&quot; password=&quot;oldpassword&quot; 
permissions=&quot;none&quot; newuserpassword=&quot;newuserpw&quot; 
newownerpassword=&quot;newownerpw&quot;>

PDF のすべてのプロパティを取得するには、次のように設定します。

<cfpdf action=&quot;info&quot; source=&quot;myVar&quot; name=&quot;info&quot;>

ユーザーに許可されているプロパティのみを取得するには、次のように設定します。

<cfpdf action=&quot;info&quot; source=&quot;myVar&quot; password=&quot; newuserpw&quot; name=&quot;info&quot;>

PDF ドキュメントのアクセス許可

次の表に、オーナーが PDF ドキュメントに対して設定できるアクセス許可を示します。

アクセス許可

説明

All

この PDF ドキュメントの機能は制限されていません。

AllowAssembly

ユーザーはこの PDF ドキュメントを他のドキュメントにマージできます。

AllowCopy

ユーザーはこのファイルのコンテンツ(テキスト、画像など)をコピーできます。この設定は、thumbnail アクションを使用してサムネール画像を生成する場合に必須です。

AllowDegradedPrinting

ユーザーはこのドキュメントを低解像度(150 DPI)で印刷できます。

AllowFillIn

ユーザーはこの PDF フォームのフィールドにデータを入力できます。ユーザーは PDF フォームに電子署名を追加できます。

AllowModifyAnnotations

ユーザーはこの PDF ドキュメントのコメントを追加または変更できます。

AllowModifyContents

ユーザーはこのファイルのコンテンツを変更できます。ユーザーはこの PDF ドキュメントを他のドキュメントにマージできます。

AllowPrinting

ユーザーはこのドキュメントを高解像度で印刷できます。この設定は、cfprint タグを使用する場合に必須です。

AllowScreenReaders

ユーザーはこの PDF ドキュメントからコンテンツを抽出できます。

AllowSecure

ユーザーはこの PDF ドキュメントに電子署名を追加できます。

None

ユーザーはこのドキュメントの表示のみを行えます。

PDF ドキュメントの暗号化

encrypt 属性は、パスワードで保護されているドキュメントを開くための暗号化方式を設定します。デフォルトでは、PDF ファイルの暗号化には RC4 128 ビットの暗号化アルゴリズムが使用されます。暗号化アルゴリズムを変更するには、protect アクションとともに encrypt 属性を使用します。次のコードは、PDF 出力ファイルを AES アルゴリズムで暗号化します。

<cfpdf action=&quot;protect&quot; encrypt=&quot;AES_128&quot; source=&quot;Book.pdf&quot; destination=&quot;MysteryBook.pdf&quot; overwrite=&quot;yes&quot; newOwnerPassword=&quot;pssst&quot; permissions=&quot;AllowDegradedPrinting&quot;>

ColdFusion は、次の暗号化アルゴリズムをサポートします。

暗号化アルゴリズム

互換性

説明

AES_128

Adobe Acrobat 7.0 以降

Advanced Encryption Standard (AES) では、Rijndael アルゴリズムと呼ばれる、128 ビットのデータブロックを処理可能な対称ブロック暗号化方式が定義されています。これは最高レベルの暗号化方式です。
この暗号化アルゴリズムを使用すると、次のことを行えます。

  • すべてのドキュメントコンテンツを暗号化する
  • メタデータを除くすべてのドキュメントコンテンツを暗号化する
  • 添付ファイルのみを暗号化する

RC4_128M

Adobe Acrobat 6.0 以降

RC4 では、インターネットトラフィックを保護する Secure Sockets Layer (SSL) や、ワイヤレスネットワークを保護する WEP などのアルゴリズムに適用可能な RSA Security ソフトウェアストリーム暗号化方式が定義されています。
この暗号化アルゴリズムを使用すると、次のことを行えます。

  • すべてのドキュメントコンテンツを暗号化する
  • メタデータを除くすべてのドキュメントコンテンツを暗号化する

RC4_128

Adobe Acrobat 5.0 以降

RC4 128 ビットの暗号化方式です。ユーザーはこの暗号化アルゴリズムを使用してドキュメントのコンテンツを暗号化することはできますが、ドキュメントのメタデータを暗号化することはできません。

RC4_40

Adobe Acrobat 3.0 以降

RC4 40 ビットの暗号化方式です。これは最低レベルの暗号化方式です。

None

-

ドキュメントは暗号化されません。

注意:

ドキュメントのメタデータはインターネット検索で使用されます。検索エンジンは、メタデータが暗号化されている PDF ドキュメントを検索できません。新しいバージョンの Acrobat でサポートされている方式を使用して暗号化された PDF ドキュメントを以前のバージョンの Acrobat で開くことはできません。たとえば、AES 128 暗号化を指定した場合、Acrobat 6.0 以前でそのドキュメントを開くことはできません。

  • read アクション ソース PDF ドキュメントを name 変数に読み込むには、次のコードのように read アクションを使用します。
<cfif IsPDFFile(&quot;Book.pdf&quot;)> 
<cfpdf action=&quot;read&quot; source=&quot;Book.pdf&quot; name=&quot;myBook&quot;> 
... 
</cfif>
  • removeWatermark アクション PDF ドキュメントまたはドキュメント内の指定したページから透かしを削除するには、removewatermark アクションを使用します。次の例では、PDF ドキュメントの最初のページから透かしを削除し、出力を新規ファイルに書き込みます。
<cfpdf action=&quot;removeWatermark&quot; source=&quot;Book.pdf&quot; pages=&quot;1&quot; destination=&quot;newBook.pdf&quot; overwrite=&quot;yes&quot;>
  • removeheaderfooter アクション PDF ドキュメント、またはドキュメント内の指定されたページからヘッダーおよびフッターを削除するには、このアクションを使用します。次の例では、ドキュメント全体からヘッダーおよびフッターを削除します。
<cfpdf action = &quot;removeheaderfooter&quot; source=&quot;..\mybook.pdf&quot; destination = &quot;new.pdf&quot;>
  • setInfo アクション PDF ドキュメントに関する情報を指定してドキュメントとともに保存するには、setinfo アクションを使用します。関連情報を含む構造体を作成します。cfpdf タグの info 属性で、その構造体を参照します。次のコードは、setInfo アクションを使用して変更可能な要素を示しています。
<cfset PDFinfo=StructNew()> 
<cfset PDFinfo.Title=&quot;Make Way for Ducklings&quot;> 
<cfset PDFinfo.Author=&quot;Donald Duck&quot;> 
<cfset PDFinfo.Keywords=&quot;Huey,Dewy,Louie&quot;> 
<cfset PDFinfo.Subject=&quot;Ducks&quot;> 
<cfpdf action=&quot;setInfo&quot; source=&quot;chap1.pdf&quot; info=&quot;#PDFinfo#&quot; destination=&quot;meta1.pdf&quot; overwrite=&quot;yes&quot;>
  • thumbnail アクション ソース PDF ドキュメントからサムネール画像を生成するには、thumbnail アクションを使用します。
    サムネールファイルの保存先ディレクトリを指定しない場合は、CFM ページが存在するディレクトリ内にサムネール用のディレクトリが作成されます。ソースとしてファイル名を指定した場合、サムネールディレクトリの名前は、ソースファイルの名前に _Thumbnails を追加したものになります。たとえば、次のコードは、myBook.pdf の各ページからサムネール画像を生成して、myBook_thumbnails というディレクトリに保存します。
<cfpdf action=&quot;thumbnail&quot; source=&quot;myBook.pdf&quot;>

CFM ページが c:¥myProject¥genThumbnails.cfm ディレクトリに存在する場合、サムネールディレクトリのパス名は c:¥myProject¥myBook_thumbnails になります。デフォルトでは、サムネールファイルは JPEG 形式で生成され、画像のサイズはオリジナルの 25 %に縮小されます。
ソースドキュメント内の個々のページを指定してサムネールを生成できます。また、サムネールのサイズ、解像度、出力形式 (JPEG、PNG、または TIFF)、サムネールファイル名に使用する接頭辞を変更することもできます。次のコードは、ソースドキュメントの最初のページからオリジナルサイズの 50% に縮小した低解像度のサムネールを生成します。

<cfpdf action=&quot;thumbnail&quot; source=&quot;myBook.pdf&quot; pages=&quot;1&quot; destination=&quot;c:\myBook\images&quot; imagePrefix=&quot;Cover&quot; format=&quot;png&quot; scale=&quot;50&quot; resolution=&quot;low&quot;>

完全な出力ファイルのパス名は次のとおりです。

c:¥myBook¥images¥Cover_page_1.png

注意:

サムネール画像を生成するには、ソースドキュメントのアクセス許可に AllowCopy が含まれている必要があります。詳細については、cfpdf の「PDF ドキュメントのアクセス許可」を参照してください。

ColdFusion 9 で、次の新しい属性が thumbnail アクションに導入されました。

  • hires:この属性を true に設定すると、ページから高解像度の画像を抽出できます。この属性は、ドキュメントに高解像度の画像が含まれていて、それらの画像の解像度を維持したい場合に便利です。
    例:

<cfpdf action=&quot;thumbnail&quot; source=&quot;./WORK/myBook.pdf&quot; destination=&quot;./WORK/Testing_CFPDF&quot; overwrite=&quot;true&quot; hires=&quot;yes&quot;>
  • overridepage:この属性を true に設定すると、PDF のページサイズではなく、そのページ内に存在する画像のサイズに準拠したサムネールが生成されます。画像が存在しない場合、サイズはページの最大サイズに設定されます。
  • compresstiffs:サムネール画像のサイズを圧縮するには、この属性を使用します。属性の名前が示唆しているように、この属性は TIFF 形式に対してのみ有効です。次に例を示します。

<cfpdf action=&quot;thumbnail&quot; source=&quot;C:\WORK\myBook.pdf&quot; destination=&quot;C:\WORK\Testing_CFPDF&quot; overwrite=&quot;true&quot; hires=&quot;yes&quot; format=&quot;tiff&quot; compresstiffs=&quot;yes&quot;>
  • maxscale:サムネール画像の最大スケールに整数値を指定するには、この属性を使用します。
  • maxlength:サムネール画像の最大長の整数値を指定するには、この属性を使用します。
  • maxbreadth:サムネール画像の最大幅の整数値を指定するには、この属性を使用します。
    次の例は、maxscale、maxlength および maxbreadth の使用方法を示しています。

メモ:通常、maxscale 属性を使用する場合は、scale 属性の値を 100 に設定します。

  • write アクション ソース PDF ドキュメント、またはメモリに変数として格納されている PDF ドキュメントをファイルに書き込むには、write アクションを使用します。次のコードは、メモリに格納されている PDF ファイルを別の PDF バージョンに変換し、出力を新規ファイルに書き込みます。
<cfpdf action=&quot;read&quot; source=&quot;Book.pdf&quot; name=&quot;myBook&quot;> 
<cfpdf action=&quot;write&quot; source=&quot;myBook&quot; destination=&quot;myBook1.pdf&quot; 
version=&quot;1.4&quot;>

これで、write アクションで name 属性または destination 属性のいずれかを使用できるようになります。name 属性は、PDF ドキュメント変数として値を取ります。たとえば、上記のコードを次のように記述することができます。

<cfpdf action=&quot;read&quot; source=&quot;Book.pdf&quot; name=&quot;myBook&quot;> 
<cfpdf action=&quot;write&quot; source=&quot;myBook&quot; name=#myBook# 
version=&quot;1.4&quot;>

新規の encodeall 属性では、ソース内のエンコードされていないストリームがすべてエンコードされます。ただし、LZW のようなダムエンコーディングと、flate のようなエンコーディングとが区別されないので、エンコードされていないストリームのみが flate エンコードされます。

注意:

これで、フォント管理画面を使用してサムネールフォントを登録できるようになります。

PDF バージョン

以前のバージョンの Acrobat または Adobe Reader を使用しているユーザーがファイルを開けるようにするには、PDF バージョンを変更します。次の表に、PDF のバージョンと Acrobat および Adobe Reader のバージョンの互換性を示します。

PDF バージョン

互換性

1.1

Acrobat および Adobe Reader 2

1.2

Acrobat および Adobe Reader 3

1.3

Acrobat および Adobe Reader 4

1.4

Acrobat および Adobe Reader 5

1.5

Acrobat および Adobe Reader 6

1.6

Acrobat および Adobe Reader 7

Web での表示を高速化するために PDF ドキュメントを線形化するには、次のように saveOption 属性を linear に設定します。

<cfpdf action=&quot;write&quot; source=&quot;myBook&quot; destination=&quot;myBook1.pdf&quot; saveOption=&quot;linear&quot; overwrite=&quot;yes&quot;>

PDF フォームのインタラクティブ機能を維持する場合や、PDF ドキュメントに電子署名を追加できるようにする場合には、saveOption で linear を指定しないでください。電子署名を許可するには、次のように saveOption 属性を incremental に設定します。

<cfpdf action=&quot;write&quot; source=&quot;myDraft&quot; destination=&quot;mySignedDoc.pdf&quot; saveOption=&quot;incremental&quot; overwrite=&quot;yes&quot;>

Acrobat で作成されたフォームからインタラクティブ機能を除去するには、flatten 属性を使用します。

<cfpdf action=&quot;write&quot; source=&quot;myAcrobatForm.pdf&quot; 
destination=&quot;myFlatForm.pdf&quot; flatten=&quot;yes&quot; overwrite=&quot;yes&quot;>
注意:

ColdFusion では、Adobe LiveCycle で作成されたフォームのフラット化はサポートされていません。LiveCycle および Acrobat で作成されたフォームの詳細については、『ColdFusion アプリケーションの開発』の ColdFusion での PDF フォームの操作を参照してください。

次の例では、PDF ドキュメント内のページからサムネール画像を生成して、それらの画像を PDF ドキュメント内のページにリンクします。

<h3>PDF サムネールのデモ</h3> 

<! --- PDF ドキュメントの名前に変数を作成します。---> 
<cfset mypdf=&quot;myBook&quot;> 
<cfset thisPath=ExpandPath(&quot;.&quot;)> 
<! --- getInfo アクションを使用して PDF ドキュメントの合計ページ数を取得します。---> 
<cfpdf action=&quot;getInfo&quot; source=&quot;#mypdf#.pdf&quot; name=&quot;PDFInfo&quot;> 
<cfset pageCount=&quot;#PDFInfo.TotalPages#&quot;> 

<! ---PDF ソースドキュメントの各ページのサムネール画像を生成し、PDF ソース名に &quot;thumbnails&quot; という単語を追加した web ルートにディレクトリ(まだない場合)を作成し、そのディレクトリにサムネール画像を保存します。---> 
<cfpdf action=&quot;thumbnail&quot; source=&quot;#mypdf#.pdf&quot; overwrite=&quot;yes&quot; destination=&quot;#mypdf#_thumbnails&quot; scale=60> 

<! ---サムネールディレクトリ内の画像をループスルーし、各画像から PDF ドキュメントの対応するページへのリンクを生成します。---> 
<cfloop index=&quot;LoopCount&quot; from =&quot;1&quot; to=&quot;#pageCount#&quot; step=&quot;1&quot;> 
<cfoutput> 
<! --- サムネール画像をクリックして PDF ドキュメントのページに移動します。---> 
<a href=&quot;#mypdf#.pdf##page=#LoopCount#&quot; target=&quot;_blank&quot;> <img src=&quot;#mypdf#_thumbnails/#mypdf#_page_#LoopCount#.jpg&quot;></a> 
</cfoutput> 
</cfloop>

PDF ドキュメントのアーカイブ

ColdFusion 11 への導入:action type="archive" を使用して、ISO の PDF/A 標準に基づいて PDF ファイルをアーカイブします。PDF/A は、国際標準化機構(ISO)が管理する一連の PDF ベースの標準に含まれる標準の 1 つです。この標準は、電子ドキュメントの長期保存を可能にするために策定されました。最終版のドキュメントを独立したドキュメントとして保存するための PDF ドキュメントの作成、表示および印刷の仕様を提供します。  この標準は、アーカイブ方針やアーカイブシステムの目的を定義するものではなく、時間が経過してもドキュメントの外観の再現が可能な PDF ファイルの「プロファイル」を特定します。このプロファイルでは、ファイルに含める必要のある内容を指定する一方で、長期間のアーカイブに不適切な機能を禁止します。

<! ---- Create an archived pdf from source pdf ---à 
<cftry> 
<cfpdf action=&quot;archive&quot; source=&quot;#sourcefilename#&quot; destination=&quot;#destinationfilename#&quot; overwrite=&quot;true&quot; /> 
<cfcatch> 
<cfoutput>#cfcatch.detail#</cfoutput><br><br> 
</cfcatch> 
</cftry>

ドキュメントのデジタル署名

ColdFusion 11 への導入:action ="sign"、"unsign"、"validatesignature"、"readsignaturefields" を使用して、それぞれデジタル署名の作成および削除、ドキュメントの署名の検証および署名フィールドの読み取りを行います。

  • action ="sign" の場合は、次の属性を使用できます。
    • keystore 属性(必須):キーストアファイルの場所。例えば、C:\OpenSSL\bin\keystore.jks のように指定します。
    • keystorepassword 属性(必須):キーストアのパスワード。
    • keyalias 属性(オプション):証明書と秘密キーをキーストアに保存するために使用するキーのエイリアス。指定しない場合は、キーストアの最初のエントリがエイリアスとして使用されます。
    • keypassword 属性(オプション):秘密キーのパスワード。指定しない場合は、keystorepassword が使用されます。
  • author 属性(オプション):true の場合は、作成者が指定された署名が生成されます。false の場合は、通常の署名が生成されます。
<! ---- Sign a specific pdf by creating a signature field and signing it with authoured signature --> <cfpdf action=&quot;sign&quot; source=&quot;#inputfilepath##inputfilename#&quot; destination=&quot;#signedfilepath##signedfilename#&quot; keystore=&quot;#certpath#cert.pfx&quot; keystorepassword=&quot;certpass&quot; overwrite=&quot;true&quot; pages=&quot;1&quot; height=&quot;100&quot; width=&quot;100&quot; position=&quot;100,100&quot; author=&quot;false&quot;
/>
  • action ="sign" および "unsign" の場合は、次の属性を使用できます。
  • signaturefieldname 属性(オプション):ユーザーが署名する既存のフィールドまたは署名なしにする必要のある署名フィールドの完全修飾名。
<! ----入力 pdf の特定の署名フィールドに署名します----> 
<cfpdf action=&quot;sign&quot; source=”#inputfilepath##inputfilename#&quot; destination=&quot;#signedfilepath##signedfilename#&quot; 
keystore=&quot;#certpath#cert.jks&quot; keystorepassword=&quot;password&quot; 
overwrite=&quot;true&quot; author=&quot;true&quot; 
signaturefieldname=&quot;sign_me&quot;/>
  • action ="unsign" の場合は、次の属性を使用できます。
  • Unsignall 属性(オプション):true の場合は、ソースドキュメントのすべての署名フィールドが署名なしになります。
<cfpdf action=&quot;unsign&quot; source=&quot;../cfpdf_normalPDFSign.pdf&quot; destination=&quot;../results/cfpdf_normalPDFSign.pdf&quot; unsignall=&quot;true&quot; overwrite=&quot;true&quot;>
  • action ="validatesignature" の場合は、次の属性を使用できます。
  • Name 属性:この操作の結果として生じる構造体が保存されます。この属性は 2 つの要素で構成されます。1 つはすべての署名が有効かどうかを示す boolean フィールドで、もう 1 つは、無効なすべての署名の名前で構成される配列リストです。
<cfpdf action=&quot;validatesignature&quot; source=&quot;../cfpdf_normalPDFSign.pdf&quot; name=&quot;pdfInfo&quot;> <cfoutput>#pdfInfo.SUCCESS#</cfoutput>
  • action ="readsignaturefields" の場合:
  • すべての署名フィールドを読み取って、属性名で指定される変数のクエリオブジェクトを返します。このクエリオブジェクトには、 次の 5 つの列があります。

a)Signed - 署名フィールドの完全修飾名。

b)Authored - このフィールドに作成者署名を含めることができるかどうかを示します。

c)Can_Be_Signed - このフィールドに署名できるかどうかを示します。

d)Can_Be_Authored - このフィールドが署名済みであるかどうかを示します。

e)Visible - このフィールドが表示可能かどうかを示します。

<! ---変数の入力 pdf の署名フィールドに関する情報を読んで廃棄します---> 
<cfpdf action=&quot;readsignaturefields&quot; 
source=&quot;#filepath##inputfilename#&quot; name=&quot;signinfo&quot; 
password=&quot;owner&quot; /> 
<cfdump var=”#signinfo#”/>

addAttachments

<cfset sourcefile=&quot;#ExpandPath('file.pdf')#&quot;>
<cfset destinationfile=&quot;#ExpandPath('file_result.pdf')#&quot;>

<cftry>
 <cfpdf action=&quot;addAttachments&quot; source=&quot;#sourcefile#&quot; destination=&quot;#destinationfile#&quot; overwrite=&quot;true&quot;>
  <cfpdfparam source=&quot;#ExpandPath('file1.txt')#&quot; filename=&quot;attachment1.txt&quot; Encoding=&quot;ASCII&quot; description=&quot;file attachment one&quot;>
  <cfpdfparam source=&quot;#ExpandPath('file2.txt')#&quot; filename=&quot;attachment2.txt&quot; Encoding=&quot;UTF-16&quot; description=&quot;file attachment one&quot;></cfpdfparam>
 </cfpdf>
 <cfcatch type=&quot;any&quot;>
  <cfdump var=&quot;#cfcatch#&quot;>
 </cfcatch>
</cftry>

出力

addFooter

<! ---フッターとしての画像--->

<cfset sourcefile=&quot;#ExpandPath('file.pdf')#&quot;>
<cfset destfile=&quot;#ExpandPath('file_footer.pdf')#&quot;>
<cfpdf action=&quot;addfooter&quot; 
  source=&quot;#sourcefile#&quot; 
  destination=&quot;#destfile#&quot;
  image=&quot;adobe.png&quot; 
  overwrite=&quot;yes&quot; 
>

<! ---フッターとしてのテキスト--->

<cfset sourcefile=&quot;#ExpandPath('file.pdf')#&quot;>
<cfset destfile=&quot;#ExpandPath('file_footer.pdf')#&quot;>
<cfpdf action=&quot;addfooter&quot; 
  source=&quot;#sourcefile#&quot; 
  destination=&quot;#destfile#&quot;
  text=&quot;これはサンプルフッターです&quot; 
  align=&quot;center&quot; 
  overwrite=&quot;yes&quot; 
>

出力

addHeader

<! ---ヘッダーとしてのテキスト--->

<cfset sourcefile=&quot;#ExpandPath('file.pdf')#&quot;>
<cfset destfile=&quot;#ExpandPath('file_header.pdf')#&quot;>
<cfpdf action=&quot;addheader&quot; 
  source=&quot;#sourcefile#&quot; 
  destination=&quot;#destfile#&quot;
  text=&quot;これはサンプルヘッダーです&quot; 
  align=&quot;center&quot; 
  overwrite=&quot;yes&quot; 
>

<! ---ヘッダーとしての画像--->

<cfset sourcefile=&quot;#ExpandPath('file.pdf')#&quot;>
<cfset destfile=&quot;#ExpandPath('file_header.pdf')#&quot;>
<cfpdf action=&quot;addheader&quot; 
  source=&quot;#sourcefile#&quot; 
  destination=&quot;#destfile#&quot;
  image=&quot;adobe.png&quot;
  overwrite=&quot;yes&quot; 
>

出力

addStamp

<cfset sourcefile=ExpandPath('addStamp.pdf')/>
<cfset destinationfile=ExpandPath(&quot;addStamp_result.pdf&quot;)/>
<cftry>
 <cfpdf action=&quot;addStamp&quot; source=&quot;#sourcefile#&quot; destination=&quot;#destinationfile#&quot; overwrite=&quot;true&quot;>
  <cfpdfparam pages=&quot;2&quot; coordinates = &quot;397,532,519,564&quot; iconname=&quot;Approved&quot; note=&quot;stamp1&quot;>
  <cfpdfparam pages=&quot;3-4&quot; coordinates = &quot;397,532,519,564&quot; iconname=&quot;Experimental&quot; >
  <cfpdfparam pages=&quot;5&quot; coordinates = &quot;397,532,519,564&quot; iconname=&quot;NotApproved&quot; >
  <cfpdfparam pages=&quot;6&quot; coordinates = &quot;397,532,519,564&quot; iconname=&quot;AsIs&quot; note=&quot;stamp2&quot;>
  <cfpdfparam pages=&quot;7-8&quot; coordinates = &quot;397,532,519,564&quot; iconname=&quot;Expired&quot; note=&quot;stamp3&quot;>
  <cfpdfparam pages=&quot;9&quot; coordinates = &quot;397,532,519,564&quot; iconname=&quot;NotForPublicRelease&quot; >
  <cfpdfparam pages=&quot;10&quot; coordinates = &quot;397,532,519,564&quot; iconname=&quot;Confidential&quot; >
  <cfpdfparam pages=&quot;11&quot; coordinates = &quot;397,532,519,564&quot; iconname=&quot;Final&quot; note=&quot;stamp4&quot;>
  <cfpdfparam pages=&quot;12&quot; coordinates = &quot;397,532,519,564&quot; iconname=&quot;Sold&quot;>
  <cfpdfparam pages=&quot;13&quot; coordinates = &quot;397,532,519,564&quot; iconname=&quot;Departmental&quot; note=&quot;stamp1&quot;>
  <cfpdfparam pages=&quot;14&quot; coordinates = &quot;397,532,519,564&quot; iconname=&quot;Draft&quot;>
  <cfpdfparam pages=&quot;15&quot; coordinates = &quot;397,532,519,564&quot; iconname=&quot;ForPublicRelease&quot;>
  <cfpdfparam pages=&quot;16&quot; coordinates = &quot;397,532,519,564&quot; iconname=&quot;TopSecret&quot;>
  <cfpdfparam pages=&quot;17&quot; coordinates = &quot;397,532,519,564&quot; iconname=&quot;ForComment&quot;>
 </cfpdf>
<cfcatch  name=&quot;myvar&quot;>
 <cfdump  var=&quot;#myvar#&quot;>
</cfcatch>
</cftry>

出力

addWatermark

<cfset sourcefile=&quot;#ExpandPath('file.pdf')#&quot;>
<cfset destfile=&quot;#ExpandPath('file_watermark.pdf')#&quot;>
<cfpdf action=&quot;addwatermark&quot; source=&quot;#sourcefile#&quot;  
  destination=&quot;#destfile#&quot; 
  image=&quot;image.png&quot;
  pages=&quot;1-2&quot;
  overwrite=&quot;yes&quot;>

出力

archive

<! ---アーカイブ標準 = 2b --->

<cfset sourcefile=&quot;#ExpandPath('hello.pdf')#&quot;/>
<cfset archivedfile=&quot;#ExpandPath('Hello_archived.pdf')#&quot;/>

<cftry>
 <cfpdf action=&quot;archive&quot; source=&quot;#sourcefile#&quot; destination=&quot;#archivedfile#&quot; standard=&quot;2b&quot; overwrite=&quot;true&quot;/>
 <cfcatch name=&quot;myvar&quot;>
  <cfdump var=&quot;#myvar#&quot;>
 </cfcatch>
</cftry>

<! --- アーカイブ標準 = 3b --->

<cfset sourcefile=&quot;#ExpandPath('hello.pdf')#&quot;/>
<cfset archivedfile=&quot;#ExpandPath('Hello_archived.pdf')#&quot;/>

<cftry>
 <cfpdf action=&quot;archive&quot; source=&quot;#sourcefile#&quot; destination=&quot;#archivedfile#&quot; standard=&quot;3b&quot; overwrite=&quot;true&quot;/>
 <cfcatch name=&quot;myvar&quot;>
  <cfdump var=&quot;#myvar#&quot;>
 </cfcatch>
</cftry>


出力

Acrobat 上で任意のファイルのアーカイブを検証するには、

ツール/印刷工程/プリフライト/PDF/A 準拠を選択した後、PDF/A-2b または

PDF/A-3b への準拠を確認します。これにより、PDF が特定の標準に準拠して アーカイブ されているかどうかを確認できます。

deletePages

<cfset sourcefile=&quot;#ExpandPath('file.pdf')#&quot;>
<cfset destfile=&quot;#ExpandPath('file_pages_deleted.pdf')#&quot;>
<cfpdf action=&quot;deletepages&quot; 
  pages=&quot;5-10&quot; 
  source=&quot;#sourcefile#&quot; 
  destination=&quot;#destfile#&quot; 
  overwrite=&quot;yes&quot;
>

export comment

<cfset sourcefile=ExpandPath(&quot;comment.pdf&quot;)/>
<cfset destinationfile=ExpandPath(&quot;comment_exported.fdf&quot;)/>
<cfpdf action=&quot;export&quot; 
  type=&quot;comment&quot; 
  source=&quot;#sourcefile#&quot; 
  exportto=&quot;#destinationfile#&quot; 
  overwrite=&quot;true&quot; 
>

出力

export metadata

<cfset sourcefile=&quot;#ExpandPath('metadata.pdf')#&quot;/>
<cfset destinationfile=&quot;#ExpandPath('metadata_exported.xmp')#&quot;/>

<cfpdf action=&quot;export&quot; 
  type=&quot;metadata&quot; 
  source=&quot;#sourcefile#&quot; 
  exportto=&quot;#destinationfile#&quot; 
  overwrite=&quot;true&quot;
>

出力

extractImage

<cfset sourcefile=&quot;#ExpandPath('coldfusion.pdf')#&quot;>
<cfpdf action = &quot;extractimage&quot; 
  source = &quot;#sourcefile#&quot; 
  pages = &quot;1-20&quot; 
  destination = &quot;images&quot; 
  imageprefix = &quot;cf_&quot; 
  format=&quot;jpg&quot; 
  overwrite=&quot;yes&quot;
>

extractText

<cfset sourcefile=&quot;#ExpandPath('coldfusion.pdf')#&quot;>
<cfpdf action=&quot;extracttext&quot; 
  source=&quot;#sourcefile#&quot; 
  name=&quot;myXML&quot; 
  pages=&quot;1-10&quot; 
  overwrite=&quot;yes&quot; 
>
<cfcontent type=&quot;text/xml&quot; />
<cfoutput>#myXML#</cfoutput>

getInfo

<cfset sourcefile=ExpandPath(&quot;coldfusion.pdf&quot;)/>
<cfpdf action=&quot;getInfo&quot; source=&quot;#sourcefile#&quot; name=&quot;PDFInfo&quot;>
<cfdump var=&quot;#PDFInfo#&quot; >

出力

import comments

<cfset sourcefile=&quot;#ExpandPath('noComment.pdf')#&quot;/>
<cfset destinationfile=&quot;#ExpandPath('withComment.pdf')#&quot;/>
<cfset importfromfilename = &quot;#ExpandPath('comment_exported.xfdf')#&quot;>
<cfpdf action=&quot;import&quot; 
  type=&quot;comment&quot; 
  source=&quot;#sourcefile#&quot; 
  importfrom=&quot;#importfromfilename#&quot; 
  destination=&quot;#destinationfile#&quot; 
  overwrite=&quot;true&quot;
>

出力

import metadata

<cfset sourcefile=&quot;#ExpandPath('noMetadata.pdf')#&quot;/>
<cfset destinationfile=&quot;#ExpandPath('metadataImported.pdf')#&quot;/>
<cfset importfromfilename = &quot;#ExpandPath('metadata_exported.xmp')#&quot;>

<cftry>
 <cfpdf action=&quot;import&quot; type=&quot;metadata&quot; source=&quot;#sourcefile#&quot; 
 importfrom=&quot;#importfromfilename#&quot; destination=&quot;#destinationfile#&quot; overwrite=&quot;true&quot; >
 <cfcatch name=&quot;mycatch&quot;>
  <cfdump var=&quot;#mycatch#&quot; >
 </cfcatch>
</cftry>

merge

PDF リストを使用したマージ

<cfset source1=&quot;#ExpandPath('coldfusion.pdf')#&quot;/>
<cfset source2=&quot;#ExpandPath('security.pdf')#&quot;/>
<cfset source3=&quot;#ExpandPath('sessionsecurity.pdf')#&quot;/>
<cfset desfile=&quot;#ExpandPath('merged.pdf')#&quot;/>

<cfpdf action=&quot;merge&quot; 
  source=&quot;#source1#,#source2#,#source3#&quot;
  destination=&quot;#desfile#&quot; 
  overwrite=&quot;yes&quot;
>

cfpdfparam を使用した PDF のマージ

<cfset source1=&quot;#ExpandPath('coldfusion.pdf')#&quot;/>
<cfset source2=&quot;#ExpandPath('security.pdf')#&quot;/>
<cfset source3=&quot;#ExpandPath('sessionsecurity.pdf')#&quot;/>
<cfset desfile=&quot;#ExpandPath('merged_new_PDF.pdf')#&quot;/>
<cfpdf action=&quot;merge&quot; destination=&quot;#desfile#&quot; overwrite=&quot;yes&quot;>
    <cfpdfparam source=&quot;#source1#&quot; pages=&quot;1-5&quot;/>
    <cfpdfparam source=&quot;#source2#&quot; pages=2 />
    <cfpdfparam source=&quot;#source3#&quot; pages=&quot;3-6&quot; />
</cfpdf>

optimize

デフォルトの最近傍法を使用

<cfset sourcefile=&quot;#ExpandPath('coldfusion.pdf')#&quot;/>
<cfset desfile=&quot;#ExpandPath('optimized_nn.pdf')#&quot;/>
<cfpdf action=&quot;optimize&quot; source=&quot;#sourcefile#&quot; destination=&quot;#desfile#&quot; algo=&quot;Nearest_Neighbour&quot; overwrite=&quot;yes&quot;>

バイリニア法を使用

<cfset sourcefile=&quot;#ExpandPath('coldfusion.pdf')#&quot;/>
<cfset desfile=&quot;#ExpandPath('optimized_biliear.pdf')#&quot;/>
<cfpdf action=&quot;optimize&quot; source=&quot;#sourcefile#&quot; destination=&quot;#desfile#&quot; algo=&quot;bilinear&quot; overwrite=&quot;yes&quot;>

バイキュービック法を使用

<cfset sourcefile=&quot;#ExpandPath('coldfusion.pdf')#&quot;/>
<cfset desfile=&quot;#ExpandPath('optimized_bicubic.pdf')#&quot;/>
<cfpdf action=&quot;optimize&quot; source=&quot;#sourcefile#&quot; destination=&quot;#desfile#&quot; algo=&quot;bicubic&quot; overwrite=&quot;yes&quot;>

processDDX

merge.ddx

<?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> 
<DDX xmlns=&quot;http://ns.adobe.com/DDX/1.0/&quot;  
    xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; 
    xsi:schemaLocation=&quot;http://ns.adobe.com/DDX/1.0/ coldfusion_ddx.xsd&quot;> 
<PDF result=&quot;Out1&quot;> 
<PDF source=&quot;Doc1&quot;/> 
<PDF source=&quot;Doc2&quot;/> 
</PDF> 
</DDX>

processDDX .cfm

<cfset source1=&quot;#ExpandPath('security.pdf')#&quot;/>
<cfset source2=&quot;#ExpandPath('sessionsecurity.pdf')#&quot;/>
<cfset outfile=&quot;#ExpandPath('book.pdf')#&quot;/>
<cfset ddxloc=&quot;#ExpandPath('merge.ddx')#&quot;/>

<! ---このコードは入力ファイルの構造体を作成します。---> 
<cfset inputStruct=StructNew()> 
<cfset inputStruct.Doc1=&quot;#source1#&quot;> 
<cfset inputStruct.Doc2=&quot;#source2#&quot;>

<! ---このコードは出力ファイルの構造体を作成します。--->
<cfset outputStruct=StructNew()>
<cfset outputStruct.Out1=&quot;#outfile#&quot;>

<! ---このコードは DDX 命令を処理し、ブックを作成します。--->
<cfpdf action=&quot;processddx&quot; ddxfile=&quot;#ddxloc#&quot; inputfiles=&quot;#inputStruct#&quot; outputfiles=&quot;#outputStruct#&quot; name=&quot;myBook&quot;>
<cfdump var=&quot;#myBook#&quot;>

protect

<cfset sourcefile=&quot;#ExpandPath('coldfusion.pdf')#&quot;/>
<cfset desfile=&quot;#ExpandPath('coldfusion_protected.pdf')#&quot;/>
<cfpdf action=&quot;protect&quot; 
  source=&quot;#sourceFile#&quot; 
  destination=&quot;#desfile#&quot;
  newUserPassword=&quot;password&quot;
>

出力

read

<cfset sourcefile=&quot;#ExpandPath('coldfusion.pdf')#&quot;/>
<cfpdf action=&quot;read&quot; name=&quot;myBook&quot; source=&quot;#sourcefile#&quot; >
<cfdump var=&quot;#myBook#&quot; >

出力

redact

<cfset sourcefile=ExpandPath('redact.pdf')/>
<cfset destinationfile=ExpandPath(&quot;redact_result.pdf&quot;)/>

<cfpdf action=&quot;redact&quot; source=&quot;#sourcefile#&quot; destination=&quot;#destinationfile#&quot; overwrite=&quot;true&quot;>
 <cfpdfparam pages=&quot;1,2&quot; coordinates=&quot;306,426,366,496&quot; >
 <cfpdfparam pages=&quot;3&quot; coordinates=&quot;100,100,400,400&quot;>
 <cfpdfparam pages=&quot;*&quot; coordinates=&quot;0,0,100,100&quot;>
</cfpdf>

出力

removeHeaderFooter

<cfset sourcefile=ExpandPath('coldfusion_header_footer.pdf')/>
<cfset desfile=ExpandPath('coldfusion_no_header_footer.pdf')/>
<cfpdf action = &quot;removeheaderfooter&quot; 
  source=&quot;#sourcefile#&quot; 
  destination = &quot;#desfile#&quot; 
  pages=&quot;1-5&quot; 
  overwrite=&quot;yes&quot; 
>

removeWatermark

<cfset sourcefile=ExpandPath('coldfusion_watermark.pdf')/>
<cfset desfile=ExpandPath('coldfusion_no_watermark.pdf')/>
<cfpdf action = &quot;removewatermark&quot; 
  source=&quot;#sourcefile#&quot; 
  destination = &quot;#desfile#&quot; 
  pages=&quot;3-5&quot; 
  overwrite=&quot;yes&quot; 
>

sanitize

<cfset sourcefile=&quot;#ExpandPath('CF_Hotfix.pdf')#&quot;/>
<cfset destinationfile=&quot;#ExpandPath('CF_Hotfix_Sanitized.pdf')#&quot;/>
<cfpdf action=&quot;sanitize&quot; 
  source=&quot;#sourcefile#&quot; 
  destination=&quot;#destinationfile#&quot; 
  overwrite=&quot;true&quot; 
>

出力 - 非表示情報の削除前

出力 - 非表示情報の削除後

setInfo

<cfset PDFinfo=StructNew()> 
<cfset PDFinfo.Title=&quot;Apply Hotfixes to ColdFusion&quot;> 
<cfset PDFinfo.Author=&quot;ColdFusion Developer&quot;> 
<cfset PDFinfo.Keywords=&quot;ColdFusion,Update, Hotfix, Security Update&quot;> 
<cfset PDFinfo.Subject=&quot;ColdFusion Hotfixes&quot;>
<cfset sourcefile=&quot;file.pdf&quot;/>
<cfset desfile=&quot;file_info.pdf&quot;/>
<cfpdf action=&quot;setInfo&quot; 
 source=&quot;#sourcefile#&quot; 
 info=&quot;#PDFinfo#&quot; 
 destination=&quot;#desfile#&quot; 
 overwrite=&quot;yes&quot;
>

出力

sign

キーストアを作成し、キーペアを生成します。 質問が表示されたら、回答します。

keytool - genkey -alias pdfdomain - keyalg RSA - keystore KeyStore.jks - keysize 2048

新しい キーストア に基づいて、CSR を生成します。

keytool - certreq -alias pdfdomain - keystore KeyStore.jks -file pdfdomain . csr

<! ----署名フィールドを作成し、特定の PDF に認証済みの署名を追加して署名します--->
<cfset sourcefile=ExpandPath('coldfusion.pdf')/>
<cfset destinationfile=ExpandPath(&quot;cf_signed.pdf&quot;)/>
<cfset pathtokeystore=ExpandPath(&quot;KeyStore.jks&quot;)/>

<cfpdf action=&quot;sign&quot;
  source=&quot;#sourcefile#&quot;
  destination=&quot;#destinationfile#&quot;
  keystore=&quot;#pathtokeystore#&quot; 
  keystorepassword=&quot;password&quot;
  overwrite=&quot;true&quot; 
  pages=&quot;1&quot; 
  height=&quot;100&quot;
  width=&quot;100&quot; 
  position=&quot;100,100&quot; 
  author=&quot;true&quot;
>

出力

thumbnail

<cfset sourcefile=&quot;#ExpandPath('coldfusion.pdf')#&quot;>
<cfpdf action=&quot;read&quot; name=&quot;myDoc&quot; source=&quot;#sourcefile#&quot; />
<cfpdf action=&quot;thumbnail&quot; source=&quot;myDoc&quot; destination=&quot;C:\cfpdf\&quot; overwrite=&quot;yes&quot; />
<cfimage action=&quot;read&quot; name=&quot;img&quot; source=&quot;C:\cfpdf\thumbnail_page_1.jpg&quot; format=&quot;jpg&quot; />

出力

transform

<cfset sourcefile=&quot;#ExpandPath('coldfusion.pdf')#&quot;>
<cfset desfile=&quot;#ExpandPath('coldfusion_transformed.pdf')#&quot;>
<cfpdf action = &quot;transform&quot;
source = &quot;#sourcefile#&quot;
destination = &quot;#desfile#&quot; 
hscale = &quot;.5&quot;
vscale = &quot;.8&quot;
position = &quot;8, 10&quot;
rotation = &quot;180&quot;
overwrite=&quot;yes&quot; 
>

出力

unsign

<cfset sourcefile=ExpandPath('cf_signed.pdf')/>
<cfset destinationfile=ExpandPath(&quot;cf_unsigned.pdf&quot;)/>
<cfpdf action=&quot;unsign&quot; 
 source=&quot;#sourcefile#&quot; 
 destination=&quot;#destinationfile#&quot; 
 unsignall=&quot;true&quot; 
 overwrite=&quot;true&quot;
>

出力

validatesSignature

<cfset sourcefile=&quot;#ExpandPath('cf_signed.pdf')#&quot;>
<cfpdf action=&quot;validatesignature&quot; source=&quot;#sourceFile#&quot; name=&quot;pdfInfo&quot;>
<cfoutput>#pdfInfo.SUCCESS#</cfoutput> <! ---「YES」を返す--->

write

<! --- PDF のプロパティを書き込む--->
<cfset sourcefile=&quot;#ExpandPath('coldfusion.pdf')#&quot;>
<cfpdf action=&quot;write&quot; 
 source=&quot;#sourcefile#&quot; 
 name=&quot;PDFout&quot; 
 overwrite=&quot;yes&quot;>
<cfdump var=&quot;#PDFout#&quot; >
<! --- PDF ドキュメントを別の PDF に書き込む--->
<cfset sourcefile=&quot;#ExpandPath('coldfusion.pdf')#&quot;>
<cfset desfile=&quot;#ExpandPath('coldfusion_write.pdf')#&quot;>
<cfpdf action=&quot;write&quot; 
 source=&quot;#sourcefile#&quot; 
 destination=&quot;#desfile#&quot;
 overwrite=&quot;yes&quot;
>

ヘルプをすばやく簡単に入手

新規ユーザーの場合

Adobe MAX 2025

Adobe MAX Japan
クリエイターの祭典

2025 年 2 月 13 日
東京ビッグサイト