添付ファイルには、PDFドキュメントに埋め込まれているドキュメントまたはファイルへの参照が含まれます。これらの外部ファイルの内容は、DioDocs for PDFのFileSpecificationクラスで表されるファイル仕様を使用してPDFで参照できます。ファイル仕様とは、参照するPDFファイル内に埋め込まれたファイルを指します。これにより、ファイルの内容をPDFドキュメントと一緒に保存または送信できます。外部ファイルを参照するファイル仕様を含むPDFファイルを送信する場合、参照が有効なままであることを確認する必要があります。これは、GcPDFのEmbeddedFileStreamクラスで表される埋め込みファイルストリームによって処理できます。埋め込みファイルストリームを使用すると、参照先ファイルの内容を PDFファイルに直接埋め込みます。ファイル仕様と埋め込みファイルストリームの詳細については、PDF 仕様 1.7 (セクション 7.11.1 および 7.11.4) を参照してください。
ドキュメント添付ファイルは、ドキュメントレベルで PDF ドキュメントに添付される添付ファイルです。DioDocs for PDFでは、PDFドキュメントにファイルを埋め込み、ファイル仕様を使用してファイルを参照できます。Addメソッドを使用して、ファイルがPDFドキュメントに添付されます。
PDF ドキュメントにファイルをドキュメントレベルで添付するには、
C# |
コードのコピー
|
---|---|
GcPdfDocument doc = new GcPdfDocument(); Page page = doc.NewPage(); string[] files = new string[] { "road.jpg", "sea.jpg" }; StringBuilder sb = new StringBuilder(); foreach (var fn in files) sb.AppendLine(fn); //添付ファイル名に関連する文字列を追加します page.Graphics.DrawString(sb.ToString() , new TextFormat(), new PointF(10, 50)); //添付ファイルを追加します foreach (string fn in files) { string file = Path.Combine("Resources", fn); FileSpecification fspec = FileSpecification.FromEmbeddedFile( EmbeddedFileStream.FromFile(doc, file)); doc.EmbeddedFiles.Add(file, fspec); } //ドキュメントを保存します doc.Save("DocAttachment.pdf"); |
PDFドキュメント内の添付ファイルはリンクとして表示され、描画されたグラフィックをクリックすると、添付されたファイルにジャンプします。DioDocs for PDF では、FileAttachmentAnnotation クラスを使用して PDF にファイルを添付します。このクラスの Icon プロパティを使用して、添付ファイルを表示するアイコンを設定することもできます。このプロパティは、FileAttachmentAnnotationIcon 列挙の値を受け取ります。
PDF ドキュメントに添付ファイルを追加するには
C# |
コードのコピー
|
---|---|
public void CreatePDF(Stream stream) { var doc = new GcPdfDocument(); var page = doc.NewPage(); var g = page.Graphics; var rc = Common.Util.AddNote("このPDFドキュメント内の「Resources\Images」フォルダから" + "ファイルが1つ添付されております。", page); var ip = new PointF(rc.X, rc.Bottom + 9); var attSize = new SizeF(36, 18); string file = Path.Combine("Resources", "Images", "sea.jpg"); FileAttachmentAnnotation faa = new FileAttachmentAnnotation() { Color = Color.Gold, UserName = "GrapeCity Admin", Rect = new RectangleF(ip.X, ip.Y, attSize.Width, attSize.Height), Contents = $"添付ファイル: {file}", Icon = FileAttachmentAnnotationIcon.Paperclip, File = FileSpecification.FromEmbeddedFile(EmbeddedFileStream.FromFile(doc, file)), }; page.Annotations.Add(faa); // ドキュメントを保存します doc.Save(stream); } |
DioDocs for PDF で添付ファイルを使用する方法の詳細については、DioDocs for PDF サンプルブラウザを参照してください。