HELP

共通マクロ書式

PDF書式

基本仕様

  • PDFファイルをオープンすると、そのファイルを識別するためのキーを返却します。以後、識別キーを使って処理を行います。(識別キーはひとつだけメモリに記憶されますので省略することもできます。)

  • マクロでオープンされたPDFファイルで、クローズされていないファイルがある場合は、ファイルの繰り返し処理の最後、又は設定の実行の最後でクローズされます。(この場合のクローズは更新内容は保存されません。)

  • PDFのオープンクローズを使用すると、オープン時にファイルをロックするので他のプロセスが処理中にアクセスするのを防ぐことができます。また、処理の途中でエラーが発生してクローズが行われない場合はPDFの更新が行われないのでトランザクション処理が可能です。

NAME PDFファイルオープン
FORMAT {%PDF_OPEN(PDFファイル名)}

引き数で指定されたPDFファイルをオープンします。ファイルが存在しない場合はエラーとなります。

オープンに成功した場合は識別キー、失敗した場合はエラーになります。

オープンに成功した場合は識別キーがメモリに記憶されます。以後、識別キーが省略された場合はメモリに記憶している識別キーを参照します。

メモリに記憶している識別キーは設定の実行が終わるまで保持しています。また、別のファイルをオープンすると上書きされます。

ファイルが使用中など、ファイルをオープンできなかった場合はエラーが発生します。

例1
D:\Home\PdfDemo\Demo01\Sample.pdfをオープンする。
#PDFファイルをオープン
{%PDF_OPEN(D:\Home\PdfDemo\Demo01\Sample.pdf)}

#クローズ
{%PDF_CLOSE()}
例2
識別キーを使用する場合(同時に複数のファイルを扱う場合はこちらを使ってください。)
#PDFファイルをオープン
{%SET_U(Pdf,Handle1,{%PDF_OPEN(D:\Home\PdfDemo\Demo01\Sample1.pdf)})}
{%SET_U(Pdf,Handle2,{%PDF_OPEN(D:\Home\PdfDemo\Demo01\Sample2.pdf)})}

#Sample1.pdfから文書属性(処理日)を取得
{%SET_U(属性,処理日,{%PDF_GET_DOCUMENT_ATTRIBUTE(#Key,{%GET_U(Pdf,Handle1)},処理日)})}

#Sample2.pdfにSample1.pdfから取得した文書属性(処理日)を設定
{%PDF_SET_DOCUMENT_ATTRIBUTE(#Key,{%GET_U(Pdf,Handle2)},処理日,{%GET_U(属性,処理日)})}

#クローズ
{%PDF_CLOSE({%GET_U(Pdf,Handle1)})}
{%PDF_CLOSE({%GET_U(Pdf,Handle2)})}
NAME PDFファイルクローズ
FORMAT {%PDF_CLOSE([識別キー])}

引き数に渡されたハンドルのPDFファイルをクローズします。

引き数が省略された場合はメモリに記憶されている識別キーを参照して対象ファイルをクローズします。

オープンされているPDFファイルがない場合に呼び出してもエラーにならず、何も行いません。

NAME PDFテキスト抽出
FORMAT1 {%PDF_EXTRACT_TEXT(ページ番号,抽出済データ用ユーザーデータ名,[領域指定ユーザーデータ名])}
FORMAT2 {%PDF_EXTRACT_TEXT(#Key,識別キー,ページ番号,抽出済データ用ユーザーデータ名,[領域指定ユーザーデータ名])}

PDFファイルの指定ページからテキストを抽出します。

ページ番号には抽出対象のページ番号を指定します。Allを指定するとすべてのページが対象となります。

抽出済データ用ユーザーデータ名には、抽出したテキストデータを格納するユーザーデータの名前を指定します。

領域指定ユーザーデータ名には、特定の領域のテキストを抽出するための座標情報をセットしたユーザーデータの名前を指定します。

領域指定の方法

領域指定は以下のような階層データをユーザーデータで作成して指定します。

領域指定
    Page
        All(ページ番号の指定も可)
            項目名1(左下座標を指定)
                X        左上X座標
                Y        左上Y座標
                BottomRightX    右下X座標
                BottomRightY    右下Y座標
            項目名2(幅と高さを指定)
                X        左上X座標
                Y        左上Y座標
                Width    幅
                Height   高さ

座標指定には以下の2つの方法があります:

  • 方法1:X、Y、BottomRightX、BottomRightYで指定

  • 方法2:X、Y、Width、Heightで指定

両方の方法で座標を指定した場合、BottomRightX、BottomRightYが優先されます。

工事名と図面名の座標を指定する場合

工事名はA棟と新築工事の間にスペースがあるため、単語の認識が2つに分かれます。

領域を工事名の左側の枠内の範囲にすれば分割された単語をすべて取得することができます。

{%SET_U(範囲指定,Page,All,工事名,X,192.85)}
{%SET_U(範囲指定,Page,All,工事名,Y,179.47)}
{%SET_U(範囲指定,Page,All,工事名,BottomRightX,253.55)}
{%SET_U(範囲指定,Page,All,工事名,BottomRightY,185.20)}
{%SET_U(範囲指定,Page,All,図面名,X,192.61)}
{%SET_U(範囲指定,Page,All,図面名,Y,186.88)}
{%SET_U(範囲指定,Page,All,図面名,BottomRightX,253.55)}
{%SET_U(範囲指定,Page,All,図面名,BottomRightY,193.09)}

抽出結果について

領域指定ユーザーデータ名を指定しない場合

領域指定ユーザーデータ名を指定しない場合、以下のような結果が取得されます:

FileName	図面サンプル.pdf
PageCount	2
Pages
	1
		1
			Text	図面番号
			X	268.25
			Y	179.66
			Width	14.64
			Height	3.42
		2
			Text	3
			X	278.93
			Y	190.12
			Width	2.12
			Height	3.70
			・
			・

領域指定ユーザーデータ名を指定した場合

領域指定ユーザーデータ名を指定した場合、以下のような結果が取得されます:

FileName	ng.PDF
PageCount	1
Pages
	1
		Rect
			工事名
				Texts
					1	A社
					2	新築工事
				TextBlock
					1
						Text	A社
						X	194.61
						Y	180.50
						Width	6.06
						Height	3.48
					2
						Text	新築工事
						X	202.16
						Y	180.44
						Width	14.81
						Height	3.54
				X	192.85
				Y	179.47
				Width	60.70
				Height	5.74
				BottomRightX	253.55
				BottomRightY	185.20
			図面名
				Texts
					1	1階
					2	平面詳細図
			・
			・
例1
sample.pdfの1ページ目からすべてのテキストを抽出する
#PDFファイルをオープン
{%PDF_OPEN(D:\Home\PdfDemo\Demo01\Sample.pdf)}

# PDFテキスト抽出
{%PDF_EXTRACT_TEXT(1,抽出データ)}

# 抽出したテキスト数を確認
{%WRITE_LOG(抽出したテキスト数: {%GET_USER_DATA_COUNT(抽出データ,Pages,1)})}

#クローズ
{%PDF_CLOSE()}
例2
処理中PDFファイルの全ページから工事名と図面名の領域を指定してテキストを抽出する
#PDFファイルをオープン
{%PDF_OPEN({%GET(FullPathFileName)})}

# 領域座標を設定
{%SET_U(範囲指定,Page,All,工事名,X,192.85)}
{%SET_U(範囲指定,Page,All,工事名,Y,179.47)}
{%SET_U(範囲指定,Page,All,工事名,BottomRightX,253.55)}
{%SET_U(範囲指定,Page,All,工事名,BottomRightY,185.20)}
{%SET_U(範囲指定,Page,All,図面名,X,192.61)}
{%SET_U(範囲指定,Page,All,図面名,Y,186.88)}
{%SET_U(範囲指定,Page,All,図面名,BottomRightX,253.55)}
{%SET_U(範囲指定,Page,All,図面名,BottomRightY,193.09)}

# PDFテキスト抽出
{%PDF_EXTRACT_TEXT(All,抽出データ)}

{%LOOP L1 {%GET_U(抽出データ,PageCount)}(
  {%WRITE_LOG(Page:[L_IDX(L1)])}

  # 指定領域毎のテキストを取得(複数に分かれた単語も連結)
  {%SET_U(属性,工事名,{%JOIN(抽出データ,Pages,[L_IDX(L1)],Rect,工事名,Texts, )})}
  {%SET_U(属性,図面名,{%JOIN(抽出データ,Pages,[L_IDX(L1)],Rect,図面名,Texts, )})}

  {%WRITE_LOG(工事名:{%GET_U(属性,工事名)})}
  {%WRITE_LOG(図面名:{%GET_U(属性,図面名)})}
)}

#クローズ
{%PDF_CLOSE()}
NAME PDF QRコード読み取り
FORMAT1 {%PDF_DECODE_QR(ページ番号,結果ユーザーデータ名,[モード],[文字コード],[オプションユーザーデータ名])}
FORMAT2 {%PDF_DECODE_QR(#Key,識別キー,ページ番号,結果ユーザーデータ名,[モード],[文字コード],[オプションユーザーデータ名])}

PDFファイルの指定ページをイメージに変換して、QRコードを読み取ります。

読み取り結果は、DocuWorks文書の処理「QRコード読み取り(v2)」と同じ項目名・同じ値の形式でユーザーデータに格納されます。「QRコード読み取り(v2)」用に作ったマクロは、参照するユーザーデータの階層を変えるだけでそのまま使えます。

戻り値は読み取ったQRコードの総数です。検索文字で絞り込んだ後の件数で、全ページの合計になります。0件はエラーになりません(0を返します)。

引数 内容
ページ番号 読み取り対象のページ番号を指定します。1以上の整数、またはAll(全ページ)を指定します。PDFファイルのページ数を超えるページを指定するとエラーになります。
結果ユーザーデータ名 読み取り結果を格納するユーザーデータの名前を指定します。実行時に同名のユーザーデータがある場合は削除してから作り直します。
モード SpeedPriority(速度優先)、Standard(標準)、RecognitionPriority(認識優先)のいずれかを指定します。省略した場合はStandardになります。
文字コード SJIS、UTF-8、自動のいずれかを指定します。省略した場合はSJISになります。
オプションユーザーデータ名 詳細設定・範囲指定・検索文字をまとめた階層データを作成したユーザーデータの名前を指定します。指定したキーだけがモードの値を上書きします。

オプションユーザーデータの指定

オプションユーザーデータは以下のような階層データをユーザーデータで作成して指定します。指定しなかったキーはモードの値のままになります。

オプションユーザーデータ名
    Dpi                    ページをイメージに変換する解像度(72~600)。既定 300
    TimeBudgetMs           処理時間の上限(ms)。0=無制限
    BrightnessBorder       固定2値化しきい値(0~255)。0=自動
    MinimumModuleSize      最小モジュールサイズ(px, 1~255)
    MinFinderModuleSize    ファインダー検出の最小モジュール(px, 0より大きい数値)
    MaxSymbols             検出最大数。0=無制限
    SearchString           検索文字(正規表現)。一致したQRコードだけを結果に残す
    Range
        StartX             範囲 X開始(%, 0~100の整数)
        StartY             範囲 Y開始(%)
        EndX               範囲 X終了(%)  ※開始 < 終了
        EndY               範囲 Y終了(%)

キーの値が空文字の場合は、指定しなかったものとして扱います(モードの値のままになります)。Rangeを指定する場合はStartX・StartY・EndX・EndYをすべて指定してください。

PDFのページには解像度の概念がないため、QRコードを読み取るときの解像度はDpiで指定します。読み取りに使った解像度は結果のDpiに格納されます。範囲指定をしても、結果の座標はページ全体を基準にした値になります。

読み取り結果について

結果ユーザーデータには以下のような内容が格納されます。読み取り対象にしたページは、QRコードが0件でもページのスレッドが作られます。

結果ユーザーデータ名
    FileName        PDFのファイル名
    PageCount       PDFの総ページ数
    Count           読み取ったQRコードの総数(全ページ合計・絞り込み後。戻り値と同じ)
    Pages
        <ページ番号>                ← 対象ページは0件でもスレッドを作る
            <番号 1~n>             ← 読み順(上→下、左→右)
                Dpi                 イメージに変換した解像度(dpi)
                Data                QRコードの内容
                Version             型番 1~40
                Level               誤り訂正レベルの数値 0=L,1=M,2=Q,3=H
                LeftTopX / LeftTopY / RightTopX / RightTopY
                RightBottomX / RightBottomY / LeftBottomX / LeftBottomY
                                    四隅の座標(mm・小数第2位で四捨五入・ページ左上が原点)
                Dgree               QRコードの回転角度(0~359)
                DegreeForRotatePage 正立させる回転角度(0/90/180/270)
                TotalNumber / SequenceNumber / CheckDigit    連結QR情報(非連結は0)
                MaskPattern / CharacterSet / ErrorsCorrected / DetectorStrategy / IsStructuredAppend
    Info                            ← Pages と同じ階層
        Count                   総件数
        TimedOut                いずれかのページで打ち切りが起きたら True
        ElapsedMilliseconds     解析時間の合計(ms)
        SuspectedRegionCount    読み漏らし候補の合計
        Pages
            <ページ番号>
                Count / TimedOut / ElapsedMilliseconds / SuspectedRegionCount
                SuspectedRegions
                    <番号>
                        Left / Top / Width / Height / CenterX / CenterY (mm)
                        FinderCount / Confidence

ページのスレッドの直下はQRコードの番号だけです。解析全体の情報はPagesと同じ階層のInfoに格納されるため、{%GET_USER_DATA_KEY_COUNT(結果ユーザーデータ名,Pages,ページ番号)}でページごとのQRコードの数が取得できます。

取りたいもの 書き方
全体の件数 {%GET_U(QR結果,Count)}
2ページ目の件数 {%GET_USER_DATA_KEY_COUNT(QR結果,Pages,2)}
2ページ目の1件目の内容 {%GET_U(QR結果,Pages,2,1,Data)}
2ページ目が打ち切られたか {%GET_U(QR結果,Info,Pages,2,TimedOut)}
読み取り対象になったページ数 {%GET_USER_DATA_KEY_COUNT(QR結果,Pages)}

0件・打ち切り(TimedOut)・読み漏らし候補ありは、いずれもエラーになりません。結果とInfoに記録されるので、判定はマクロで行ってください。

QRコード読み取り(v2)との違い

  • 分割マークの機能はありません。分割マークはDocuWorks文書のページに付ける機能です。PDFの分割は{%PDF_SPLIT_PAGE(ページ,出力ファイルパス)}で行ってください。

  • 詳細設定は、オプションユーザーデータで指定したキーだけがモードの値を上書きします。「QRコード読み取り(v2)」はチェックを入れると5項目すべてがモードの値を上書きします。

  • ページ番号にAllを指定して全ページを対象にできます。

  • 解析全体の情報は、別のユーザーデータではなく結果ユーザーデータの中のInfoに格納されます。

  • 文字コードは数値ではなく、SJIS・UTF-8・自動の語で指定します(READ_FILE・READ_CSV_FILEと同じ表記)。

例1
処理中のPDFファイルの全ページからQRコードを読み取り、1件目の内容を文書属性に入れる。
#PDFファイルをオープン
{%PDF_OPEN({%GET(FullPathFileName)})}

#全ページのQRコードを読み取る(認識優先・文字コードは自動判定)
{%SET_U(wk,QR件数,{%PDF_DECODE_QR(All,QR結果,RecognitionPriority,自動)})}

#1件も読めなければ業務エラーとして分岐用のフラグを立てる
{%IF({%GET_U(wk,QR件数)}=0,
  {%SET_U(wk,結果,QRなし)}
,
  {%SET_U(wk,結果,OK)}
  {%SET_U(属性,管理番号,{%GET_U(QR結果,Pages,1,1,Data)})}
)}

#PDFファイルをクローズ
{%PDF_CLOSE()}
例2
範囲と検索文字を指定して読み取り、ページごとに件数を確認する。
#PDFファイルをオープン
{%PDF_OPEN({%GET(FullPathFileName)})}

#読み取り条件(右上25%・管理番号で始まるQRだけ・上限5秒)
{%SET_U(QR条件,Range,StartX,50)}
{%SET_U(QR条件,Range,StartY,0)}
{%SET_U(QR条件,Range,EndX,100)}
{%SET_U(QR条件,Range,EndY,50)}
{%SET_U(QR条件,SearchString,^管理番号)}
{%SET_U(QR条件,TimeBudgetMs,5000)}

#全ページのQRコードを読み取る
{%SET_U(wk,QR件数,{%PDF_DECODE_QR(All,QR結果,Standard,SJIS,QR条件)})}

#ページごとに件数と打ち切りを記録する
{%LOOP L1 {%GET_U(QR結果,PageCount)}(
  {%WRITE_LOG(Page:[L_IDX(L1)] 件数:{%GET_USER_DATA_KEY_COUNT(QR結果,Pages,[L_IDX(L1)])} 打ち切り:{%GET_U(QR結果,Info,Pages,[L_IDX(L1)],TimedOut)})}
)}

#PDFファイルをクローズ
{%PDF_CLOSE()}
NAME PDF文書情報取得
FORMAT1 {%PDF_GET_DOCUMENT_INFO(結果格納用ユーザーデータ名)}
FORMAT2 {%PDF_GET_DOCUMENT_INFO(#Key,識別キー,結果格納用ユーザーデータ名)}

オープンされているPDFファイルから文書情報を取得します。

結果格納用ユーザーデータ名には、取得した情報を格納するユーザーデータの名前を指定します。指定したユーザーデータに既存の内容がある場合は置き換えられます。

結果格納用ユーザーデータの内容

名前 内容
Pages ページ数
Version PDFのバージョン(1.4、1.7 など)

バージョンを取得できなかった場合は空文字が格納されます。

例1
PDFファイルのページ数とバージョンを取得してログに出力する。
#PDFファイルをオープン
{%PDF_OPEN({%GET(FullPathFileName)})}

#文書情報を取得
{%PDF_GET_DOCUMENT_INFO(DocInfo)}

{%WRITE_LOG(ページ数:{%GET_U(DocInfo,Pages)})}
{%WRITE_LOG(バージョン:{%GET_U(DocInfo,Version)})}

#クローズ
{%PDF_CLOSE()}

結果
ページ数:3
バージョン:1.4
例2
識別キーを使用して、同時にオープンした複数のPDFファイルのページ数を取得する。
#PDFファイルをオープン
{%SET_U(Pdf,Handle1,{%PDF_OPEN(D:\Home\PdfDemo\Demo01\Sample1.pdf)})}
{%SET_U(Pdf,Handle2,{%PDF_OPEN(D:\Home\PdfDemo\Demo01\Sample2.pdf)})}

#それぞれの文書情報を取得
{%PDF_GET_DOCUMENT_INFO(#Key,{%GET_U(Pdf,Handle1)},DocInfo1)}
{%PDF_GET_DOCUMENT_INFO(#Key,{%GET_U(Pdf,Handle2)},DocInfo2)}

{%WRITE_LOG(Sample1.pdf:{%GET_U(DocInfo1,Pages)}ページ)}
{%WRITE_LOG(Sample2.pdf:{%GET_U(DocInfo2,Pages)}ページ)}

#クローズ
{%PDF_CLOSE({%GET_U(Pdf,Handle1)})}
{%PDF_CLOSE({%GET_U(Pdf,Handle2)})}
NAME PDF文書属性取得
FORMAT1 {%PDF_GET_DOCUMENT_ATTRIBUTE(属性名,[未定義時の処理(エラー|空文字返却)])}
FORMAT2 {%PDF_GET_DOCUMENT_ATTRIBUTE(#Key,識別キー,属性名,[未定義時の処理(エラー|空文字返却)])}

PDF文書オープン処理名で指定されたPDF文書から、文書属性を取得します。

属性名は、255文字以内で指定してください。

未定義時の処理を省略した場合またはエラーを指定した場合は、存在しない属性名を指定した場合にエラーとなります。

未定義時の処理に空文字返却を指定した場合は、存在しない属性名を指定した場合に空文字が返却されます。

属性名に以下の名前を指定した場合は、概要タブの各項目を取得できます。

名前 内容
Author 作成者
CreationDate 作成日
Creator 作成アプリケーション
Keywords キーワード
ModDate 更新日
Producer PDF作成者
Subject サブタイトル
Title タイトル

Trappedは予約語のため使用できません。

例1
「文書名」という属性名で文書属性から値を取得する。
#PDFファイルをオープン
{%PDF_OPEN({%GET(FullPathFileName)})}

{%WRITE_LOG({%PDF_GET_DOCUMENT_ATTRIBUTE(文書名,空文字返却)})}

#クローズ
{%PDF_CLOSE()}
例2
概要のタイトルから値を取得する。
{%WRITE_LOG({%PDF_GET_DOCUMENT_ATTRIBUTE(Title)})}
NAME PDF文書属性設定
FORMAT1 {%PDF_SET_DOCUMENT_ATTRIBUTE(属性名,属性値)}
FORMAT2 {%PDF_SET_DOCUMENT_ATTRIBUTE(#Key,識別キー,属性名,属性値)}

PDF文書オープン処理名で指定されたPDF文書に、文書属性を設定します。

属性名は、255文字以内で指定してください。 属性値は、文字列を指定します。

属性名に以下の名前を指定した場合は、概要タブの各項目を設定できます。

名前 内容
Author 作成者
CreationDate 作成日
Creator 作成アプリケーション
Keywords キーワード
ModDate 更新日
Producer PDF作成者
Subject サブタイトル
Title タイトル

Trappedは予約語のため使用できません。

例1
1番目に取得したQRコードの内容を「文書名」という属性名で文書属性に設定する。
#PDFファイルをオープン
{%PDF_OPEN({%GET(FullPathFileName)})}

{%PDF_SET_DOCUMENT_ATTRIBUTE(文書名,{%GET_U(QRコード読み取り1,1,Data)})}

#クローズ
{%PDF_CLOSE()}

例2
システム日付を「処理日」という属性名で文書属性に設定する。
{%PDF_SET_DOCUMENT_ATTRIBUTE(処理日,{%DATE(yyyy/MM/dd)})}
例3
概要のタイトルに「サンプル」を設定する。
{%PDF_SET_DOCUMENT_ATTRIBUTE(Title,サンプル)}
NAME PDF文書属性存在チェック
FORMAT1 {%PDF_EXISTS_DOCUMENT_ATTRIBUTE(属性名)}
FORMAT2 {%PDF_EXISTS_DOCUMENT_ATTRIBUTE(#Key,識別キー,属性名)}

属性名で指定された文書属性の存在チェックを行います。

指定した属性が存在する場合は、Trueを、存在しない場合はFalseを返却します。

文書属性「処理日」が存在する場合は、ログに「属性あり」を出力する。
{%PDF_SET_DOCUMENT_ATTRIBUTE(処理日,{%DATE(yyyy/MM/dd)})}
{%IF({%PDF_EXISTS_DOCUMENT_ATTRIBUTE(処理日)}=True,
  {%WRITE_LOG(属性あり)}
,
  {%WRITE_LOG(属性なし)}
)}

結果 属性あり
NAME PDF文書属性削除
FORMAT1 {%PDF_DELETE_DOCUMENT_ATTRIBUTE(属性名)}
FORMAT2 {%PDF_DELETE_DOCUMENT_ATTRIBUTE(#Key,識別キー,属性名)}

属性名で指定された文書属性を削除します。

文書属性「FAX番号」を削除する。
#PDFファイルをオープン
{%PDF_OPEN({%GET(FullPathFileName)})}

{%PDF_DELETE_DOCUMENT_ATTRIBUTE(FAX番号)}

#クローズ
{%PDF_CLOSE()}
NAME PDFページ削除
FORMAT {%PDF_DELETE_PAGE(ページ)}
FORMAT {%PDF_DELETE_PAGE(#Key,識別キー,ページ)}

オープン中のPDFからページを削除します。

ページには、2|3|4のように|で区切って複数のページを指定できます。

2-と指定すると2ページ目以降が削除されます。

2-5と指定すると2~5ページが削除されます。

-5と指定すると1~5ページが削除されます。

1|3-と指定すると1ページと5ページ目以降が削除されます。

1-|-5のように重複した表現があってもエラーにならず、すべての指定されたページの削除を行います。

すべてのページが削除されるような指定をした場合は0ページのPDFになります。

Sample.pdfから2ページ目以降を削除する
#PDFファイルをオープン
{%PDF_OPEN({%GET(FullPathFileName)})}

#2ページ目以降を削除 
{%PDF_DELETE_PAGE(2-)}

#クローズ
{%PDF_CLOSE()}
NAME PDFページ分割
FORMAT {%PDF_SPLIT_PAGE(ページ,出力ファイルパス)}
FORMAT {%PDF_SPLIT_PAGE(#Key,識別キー,ページ,出力ファイルパス)}

オープン中のPDFを出力ファイルパスにページ分割したファイルを出力します。

ページには、1|2|3のように|で区切って複数のページを指定できます。

ページにAllを指定すると全ページを1ページ毎に分割します。

ページに2xを指定すると2ページ毎に分割します。3xは3ページ毎に分割します。

分割後のPDFは出力ファイルパスで指定された場所にファイル名 + _ + ページ番号(ゼロ埋め4桁)で出力を行います。

処理中のPDFを1ページ毎に分割して、分割後フォルダに出力する。
#PDFファイルをオープン
{%PDF_OPEN({%GET(FullPathFileName)})}

#1ページ毎に分割
{%PDF_SPLIT_PAGE(All,{%GET(FolderPath)}\分割済み\{%GET(FileName)})}

#クローズ
{%PDF_CLOSE()}
NAME PDFファイルマージ
FORMAT {%PDF_MERGE_FILES(対象ファイルリスト,出力ファイルパス,マージタイプ(先頭|末尾|新規))}

対象ファイルリストで指定されたファイルをマージして出力ファイルパスに出力します。

対象ファイルリストはユーザーデータ名を指定してください。ユーザーデータにはマージしたいフルパスファイル名を追加します。

対象ファイルリストに出力ファイルが含まれる場合はエラーになります。

マージタイプが先頭、または末尾の場合に、出力ファイルが存在しない場合は新規作成されます。

マージタイプが新規の場合に、出力ファイルが存在する場合はエラーになります。

例1
処理中ファイルをmarge.pdfの先頭に束ねる。
{%ADD_USER_DATA(ファイルリスト,{%GET(FullPathFileName)})}

{%PDF_MERGE_FILES(ファイルリスト,{%GET(FolderPath)}\マージ済み\marge.pdf,先頭)}
例2
sample1.pdf、sample2.pdfをmarge.pdfの末尾に束ねる。
{%ADD_USER_DATA(ファイルリスト,D:¥Temp\sample1.pdf)}
{%ADD_USER_DATA(ファイルリスト,D:¥Temp\sample2.pdf)}

{%PDF_MERGE_FILES(ファイルリスト,{%GET(FolderPath)}\マージ済み\marge.pdf,末尾)}

以下のような順のmarge.pdfとなります。
marge.pdf
sample1.pdf
sample2.pdf
例3
sample1.pdf、sample2.pdfを束ねてmarge.pdfを新規作成する。
{%ADD_USER_DATA(ファイルリスト,D:¥Temp\sample1.pdf)}
{%ADD_USER_DATA(ファイルリスト,D:¥Temp\sample2.pdf)}

{%PDF_MERGE_FILES(ファイルリスト,{%GET(FolderPath)}\マージ済み\marge.pdf,新規)}

以下のようなmarge.pdfが新規作成されます。
sample1.pdf
sample2.pdf
NAME PDFテキスト抽出支援ユーティリティ作成
FORMAT {%PDF_CREATE_TOOL(PDFファイル名,対象ページ,[出力ファイル名])}

PDFファイル名に指定されたPDFを読み込み、テキスト抽出支援ユーティリティのHTMLファイルをPDFと同じフォルダに出力します。

対象ページにはページ番号を指定します。Allを指定するとすべてのページが対象になります。

出力ファイル名を指定した場合は、指定した場所に出力します。

処理中PDFから1ページ目のテキスト抽出を行いSample.htmlを出力する。
{%PDF_CREATE_TOOL({%GET(FullPathFileName)},1)}