Skip to content

添付ファイル

TCPDF-Nextは、PDFドキュメント内に任意のファイルを埋め込むことができます。添付ファイルシステムは Navigation\FileAttachment を通じて管理され、Document のフルーエントAPIからアクセスできます。添付ファイルはPDFと一緒に移動します。受信者はビューアから直接埋め込みファイルを取り出すことができます。

すべてのメソッドは static を返すため、メソッドチェーンが可能です。

クイックリファレンス

メソッド用途
addFileAttachment()PDFドキュメントにファイルを埋め込む

基本的な使用例

php
use Yeeefang\TcpdfNext\Core\Document;

$pdf = Document::create()
    ->addPage()
    ->setFont('Helvetica', '', 12)
    ->cell(0, 10, 'Invoice #2026-001', newLine: true)
    ->cell(0, 10, 'The original spreadsheet is attached to this PDF.', newLine: true)

    // サポートファイルを添付
    ->addFileAttachment('/path/to/invoice-data.xlsx', 'invoice-data.xlsx', 'Original invoice data')
    ->addFileAttachment('/path/to/zugferd.xml', 'factur-x.xml', 'Factur-X e-invoice XML')

    ->save('invoice-with-attachments.pdf');

addFileAttachment()

php
$pdf->addFileAttachment(
    string $file,
    string $name = '',
    string $desc = '',
    string $mimeType = '',
    string $relationship = 'Unspecified'
): static
パラメータ説明
$filestring埋め込むファイルの絶対パス
$namestringビューアの添付ファイルパネルに表示される名前(デフォルトは元のファイル名)
$descstring添付ファイルの人間が読める説明
$mimeTypestringMIMEタイプ(空の場合は自動検出)
$relationshipstringPDF 2.0関連ファイルの関係性(DataSourceAlternativeSupplementUnspecified

一般的なユースケース

ソースデータ、補足ドキュメント、または高解像度オリジナルを添付します:

php
$pdf->addFileAttachment('/path/to/report-data.csv', 'report-data.csv', 'Raw CSV export')
    ->addFileAttachment('/path/to/terms.pdf', 'terms-and-conditions.pdf', 'Terms & Conditions')
    ->addFileAttachment('/path/to/photo-full.tiff', 'photo-full.tiff', 'Full-resolution original');

PDF/A-3およびPDF/A-4準拠

PDF/A-3およびPDF/A-4のアーカイブ標準では埋め込みファイルが許可されており、構造化データ交換に添付ファイルが不可欠です。最も代表的なユースケースは ZUGFeRD / Factur-X の電子インボイスで、機械可読なXMLインボイスが人間可読なPDFとともに埋め込まれます。

php
use Yeeefang\TcpdfNext\Core\Document;

$pdf = Document::create()
    ->setPDFVersion('2.0')
    ->addPage()
    ->setFont('Helvetica', '', 12)
    ->cell(0, 10, 'Electronic Invoice', newLine: true)
    ->cell(0, 10, 'This PDF contains a Factur-X XML attachment.', newLine: true)

    // Factur-X / ZUGFeRD 電子インボイスの添付
    ->addFileAttachment(
        '/path/to/factur-x.xml',
        'factur-x.xml',
        'Factur-X BASIC invoice data',
        'text/xml',
        'Data'
    )

    ->save('e-invoice.pdf');

TIP

PDF/A-3またはPDF/A-4を対象とする場合は、$relationship パラメータを設定して添付ファイルとドキュメントの関係を説明してください。一般的な値は Data(構造化データ表現)、Source(元のソースファイル)、Alternative(代替表現)です。

添付ファイルのメタデータ

埋め込みファイルには、ビューアの添付ファイルパネルに表示されるメタデータが含まれます:

メタデータソース
ファイル名$name パラメータ(または元のファイル名)
説明$desc パラメータ
MIMEタイプ$mimeType パラメータ(空の場合は自動検出)
サイズファイルから自動的に計算
更新日ファイルシステムのタイムスタンプから読み取り

ヒント

  • 添付ファイルは、埋め込みファイルのサイズ分だけPDFファイルサイズが増加します。大きな添付ファイルは埋め込み前に圧縮することを検討してください。
  • Adobe Acrobat、Foxit Reader、およびほとんどのデスクトップPDFビューアは添付ファイルをサポートしています。ブラウザベースのビューアは通常、添付ファイルパネルを公開しません。
  • ファイル形式の制限はありません。任意のファイルタイプ(CSV、XLSX、XML、PNG、ZIPなど)を添付できます。
  • 電子インボイスのワークフローでは、埋め込み前に関連する標準スキーマ(ZUGFeRD、Factur-X、またはXRechnung)に対してXMLを必ず検証してください。

LGPL-3.0-or-later ライセンスの下で公開されています。