DocAttachments.cs
// 
// このコードは、DioDocs for PDF のサンプルの一部として提供されています。
// Copyright (c) GrapeCity inc. All rights reserved.
// 
using System;
using System.IO;
using System.Linq;
using System.Text;
using GrapeCity.Documents.Pdf;
using GrapeCity.Documents.Text;
using GrapeCity.Documents.Drawing;

namespace GcPdfWeb.Samples.Basics
{
    // ファイルを PDF ドキュメントに添付する方法を示します。
    // また、ページ上の特定の場所に添付されている添付ファイルの注釈を示す
    // FileAttachments サンプルも参照してください。
    public class DocAttachments
    {
        public void CreatePDF(Stream stream)
        {
            var doc = new GcPdfDocument();
            var page = doc.NewPage();

            (string, string)[] files = new (string, string)[]
            {
                ( "Images", "tudor.jpg" ),
                ( "Images", "sea.jpg" ),
                ( "Images", "puffins.jpg" ),
                ( "Images", "lavender.jpg" ),
                ( "Images", "skye.jpg" ),
                ( "Images", "fiord.jpg" ),
                ( "Images", "out.jpg" ),
                ( "PDFs", "HelloWorld.pdf" ),
                ( "PDFs", "FormFields.pdf" )
            };
            var sb = new StringBuilder();
            foreach (var f in files)
                sb.AppendLine(f.Item2);
            Common.Util.AddNote(
                "このドキュメントには、いくつかの画像および PDF が添付されています:\n\n" +
                sb.ToString(), page);
            foreach (var f in files)
            {
                string file = Path.Combine("Resources", f.Item1, f.Item2);
                FileSpecification fspec = FileSpecification.FromEmbeddedFile(EmbeddedFileStream.FromFile(doc, file));
                doc.EmbeddedFiles.Add(file, fspec);
            }

            // PDF ドキュメントを保存します。
            doc.Save(stream);
        }
    }
}