PDF (.pdf)

予備知識

    • MIMEタイプ:application/pdf
    • Adobe Acrobat形式.
    • 複数ページのドキュメントを交換したり,アーカイブに保管したりするための標準形式.
    • PDFはPortable Document Formatの頭字語である.
    • バイナリファイル形式.
    • テキスト,フォント,画像,2次元ベクトルグラフィックスをデバイスや解像度に依存しない方法で保持する.
    • 埋め込みラスタ画像も保持できる.
    • 複数の不可逆と可逆の圧縮法をサポートする.

ImportとExport

  • Import["file.pdf"]はPDFファイルをインポートし,各ページをラスタ化した画像のリストを返す.
  • Import["file.pdf",elem]は指定された要素をPDFファイルからインポートする.
  • Import["file.pdf",{elem,suba,subb,}]はサブ要素をインポートする.
  • インポート形式はImport["file","PDF"]またはImport["file",{"PDF",elem,}]で指定することができる.
  • Export["file.pdf",expr]は任意の式,セル,あるいはノートブックオブジェクトからPDFファイルを作成する.
  • Export["file.pdf",expr,elem]expr が要素 elem を指定するものとして扱って,PDFファイルを作成する.
  • Export["file.pdf",{expr1,expr2,},{{elem1,elem2,}}]はそれぞれの expri が対応する elemi を指定するものとして扱う.
  • Export["file.pdf",expr,opt1->val1,]は指定されたオプションの要素が指定された値を取るものとして expr をエキスポートする.
  • Export["file.pdf",{elem1->expr1,elem2->expr2,},"Rules"]は規則を使ってエキスポートする要素を指定する.
  • Export["file.pdf",expr] は, expr をデフォルトのプリンタに印刷されているかのように効果的にレンダリングする. expr がノートブックでない場合,評価を実行するノートブックと同じプロパティを持つノートブックを効果的に作成する.あるいは,ノートブックで評価が実行されなかった場合にはデフォルトのノートブックを作成する.フロントエンドのPrintingStyleEnvironmentオプションは,印刷する環境を選択するために使用される.
  • Wolfram言語は可能な限りコンテンツのベクトル記述を保存しようとするが,PDFでサポートされていない最新のレンダリング方法を必要とするコンテンツはラスタライズされる. これには透明度,カラーグラデーション,テクスチャ,シェーディングを備えたすべての3Dグラフィックスと2Dコンテンツが含まれる.
  • 一般的な情報は,以下の関数ページを参照のこと.
  • Import, Exportファイルからインポートする,あるいはファイルへエキスポートする
    CloudImport, CloudExportクラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする
    ImportString, ExportString文字列からインポートする,あるいは文字列へエキスポートする
    ImportByteArray, ExportByteArrayバイト配列からインポートする,あるいはバイト配列へエキスポートする

ノートブックインターフェース

  • 別名で保存」は使用中のノートブックをPDFファイルとしてエキスポートする.
  • 選択範囲の形式保存」を使うと,ノートブックの選択された部分をPDFとしてエキスポートすることができる.

Import要素

  • 一般的なImport要素:
  • "Elements" ファイル中の有効な要素とオプションのリスト
    "Summary"ファイルの概要
    "Rules"使用可能なすべての要素の規則のリスト
  • 構造要素:
  • "ContentsGraph"ドキュメントの目次のグラフ
    "ContentsStartPage"目次の名前とページ番号を与える規則のリスト
    "PageCount"ページ数
    "Summary"ファイルの概要
  • PDFドキュメント全体に対するデータ表現要素:
  • "Plaintext"ドキュメント全体のテキストコンテンツを与える文字列
    "FormattedText"ドキュメント全体の書式付きテキストの列
  • ドキュメントの各ページを表すリストとして与えられたデータ表現要素:
  • "PageFormattedText"書式付きテキストのリストで,それぞれが1ページを表す
    "PageGraphics"Graphicsオブジェクトのリストで,それぞれが1ページを表す
    "PageImages"Imageオブジェクトのリストで,それぞれが1ページを表す
    "PagePlaintext"文字列のリストで,それぞれが1ページのプレーンテキストを表す
    "PagePositionedText"テキストの座標を含むTextオブジェクトのリスト
  • Import はデフォルトで"PageImages"要素を使う.
  • メタデータ要素:
  • "Author"ドキュメントの作成者
    "CreationDate"DateObjectで与えられるドキュメントの作成日
    "Creator"このファイルを作成したプログラム
    "Keywords"ドキュメントのキーワード
    "ModificationDate"DateObjectで与えられるドキュメントの変更日
    "MetaInformation"文字列と日付オブジェクトで与えられるメタデータ
    "Producer"データをPDFに変換したプログラム
    "Subject"ドキュメントの件名
    "Title"ドキュメントのタイトル
    "Version"ファイルのPDF仕様のバージョン
  • ハイパーリンク,注釈,フォームフィールドの要素:
  • "FormFieldRules"ページ番号と,フォームフィールドの名前と値を与える規則のリストの連想
    "HighlightedText"ページ番号と,各ページのテキストの各ハイライトされたセクションの文字列のリストの連想
    "Hyperlinks"ページ番号と各ページの各リンクのHyperlinkオブジェクトのリストの連想
    "TextAnnotations"ページ番号と注釈のテキストの連想
    "URLs"ページ番号と各ページの各リンクのURLオブジェクトのリストの連想
  • 埋込み画像要素:
  • "EmbeddedImageCount"ページ番号と画像数の連想
    "EmbeddedImages"ページ番号と,各ページの埋込み画像の連想
  • 添付ファイル要素:
  • "AttachmentCount"添付ファイルの数
    "AttachmentList"式で表された,処理済み添付ファイルのリスト
    "AttachmentNames"添付ファイル名のリスト
    "AttachmentDetails"添付ファイルの内容とメタデータを与える連想のリスト
    "RawAttachmentList"バイト配列のリストとして与えられた添付ファイル
    "AttachmentData"添付ファイルの生のデータとメタデータを与える連想のリスト
  • 要素"AttachmentDetails"は各添付ファイルについての連想を与えるリストである.各連想は通常以下のキーを持つ:
  • "Name"添付ファイルに関連付けられた名前
    "Content"インポートされた内容
    "CreationDate"添付ファイルについて記録された作成日
    "ModificationDate"添付ファイルについて記録された変更日
    "ByteCount"添付ファイルのバイト数
  • 要素"AttachmentData"は各添付ファイルについての連想を与えるリストである.各連想は通常以下のキーを持つ:
  • "Name"添付ファイルに関連付けられた名前
    "RawContent"バイト配列で表された生の内容
    "CreationDate"添付ファイルについて記録された作成日
    "ModificationDate"添付ファイルについて記録された変更日
    "ByteCount"添付ファイルのバイト数
  • 複数の部分から成る要素については,サブ要素を使って{elem,page,index}または{elem,index}という形式でデータの一部のインポートを行う.pageindex は以下のいずれでもよい:
  • nn 番目の項目
    -n最後から数える
    n;;mn 番目から m 番目まで
    n;;m;;sn 番目から s 刻みで m 番目まで
    {n1,n2,}特定の項目 ni
  • フィールド names に対応するフォーム値をインポートするためには{"FormFieldRules",page,names}を使用する.

オプション

  • Importオプション:
  • ImageResolution$ImageResolutionラスタ化に使用する画像の解像度(dpi)
    ImageSizeAutomatic
  • プリンタの点で最終的に表示される画像サイズ
  • "Password"None文字列で与えられるドキュメントのパスワード
    RasterSizeAutomaticラスタ化に使用する画素あたりのラスタサイズ
    "RenderedElements"All"PageImages"で描画するためのドキュメントの一部
  • "RenderedElements"の可能な設定:
  • "Annotations"ハイライトや追加のテキストボックス等の注釈
    "FormFields"入力されたフォームフィールドのデータ
    Allドキュメントのすべての要素を描画する
    Noneドキュメントの要素を追加で描画しない
  • Exportオプション:
  • ImageSizeAutomatic画像の全体サイズ
    ImageResolution72ラスタライズのための画像の解像度(dpi)
    "AllowRasterization"Automatic高度なバージョンのPDFを必要とするグラフィックスをラスタライズするかどうか
  • "AllowRasterization"の可能な設定:
  • Automatic描画に高度なバージョンのPDFを必要とする透過性,グラデーション等の機能を含むグラフィックスをラスタライズする
    Trueグラフィックスを常にラスタライズする
    False常にベクターグラフィックスを使い,必要に応じて高度なPDF機能を配備して忠実に描画する

例題

すべて開くすべて閉じる

  (4)

PDFファイルのページをインポートする:

PDFをテキストとしてインポートする:

画像をPDFにエキスポートする:

タイプセットされた数学の式を解像度非依存PDFにエキスポートする:

スコープ  (3)

Import  (3)

PDFファイルの最初のページをインポートする:

PDFの最初のページをテキストとしてインポートする:

メタデータをいくつかインポートする:

Import要素  (26)

利用できる要素  (1)

利用できる要素のリスト:

構造要素  (3)

"ContentsGraph"  (1)

ファイルの目次のグラフをインポートする:

グラフの辺の名前を取得する:

"ContentsStartPage"  (1)

各章が開始するページをインポートする:

"PageCount"  (1)

ドキュメントのページ数をインポートする:

データ表現  (6)

"Plaintext"  (1)

ドキュメント全体からテキストをインポートする:

"FormattedText"  (1)

ドキュメントから書式付きテキストをインポートする:

"PageGraphics"  (1)

ドキュメントの最初のページをベクターグラフィックスとしてインポートする:

"PageImages"  (1)

ドキュメントの各ページを表す画像のリストをインポートする:

"PagePlaintext"  (1)

ドキュメントの各ページからテキストをリストとしてインポートする:

"PagePositionedText"  (1)

ドキュメントの各ページからリストとしてテキストをインポートする:

メタデータ  (9)

"Author"  (1)

ドキュメントの作成者をインポートする:

"CreationDate"  (1)

ドキュメントの作成日時をインポートする:

"Creator"  (1)

ドキュメントを作成したプログラムをインポートする:

"Keywords"  (1)

ドキュメントのキーワードをインポートする:

"ModificationDate"  (1)

ドキュメントの変更日をインポートする:

"Producer"  (1)

ドキュメントを変換したプログラムをインポートする:

"Subject"  (1)

ドキュメントの件名をインポートする:

"Title"  (1)

ドキュメントのタイトルをインポートする:

"Version"  (1)

ドキュメントのPDFのバージョンをインポートする:

注釈とフォームフィールド  (5)

"FormFieldRules"  (1)

ドキュメントのフォームフィールドから名前と値をインポートする:

"HighlightedText"  (1)

ドキュメントでハイライトされているテキストのプレーンテキストをインポートする:

"Hyperlinks"  (1)

ドキュメントのハイパーリンクをインポートする:

"TextAnnotations"  (1)

ドキュメントのテキスト注釈のプレーンテキストをインポートする:

"URLs"  (1)

ドキュメント内のURLをインポートする:

埋込み画像  (2)

"EmbeddedImageCount"  (1)

ドキュメントの各ページに埋め込まれた画像の数をインポートする:

"EmbeddedImages"  (1)

ドキュメントの各ページから埋込み画像をインポートする:

Importオプション  (3)

画像の解像度  (1)

PDFをFHDスクリーンに適した解像度でインポートする:

PDFをHiDPIスクリーンに適した解像度でインポートする:

ラスタサイズ  (1)

PDFファイルの非常に小さい画像を描画する:

PDFの大きい画像を描画する:

"RenderedElements"  (1)

ドキュメントの画像をインポートするが,注釈は描画しない:

注釈を含めてドキュメントを描画した場合と比較する: