DocAttachments.cs
- //
- // This code is part of Document Solutions for PDF demos.
- // Copyright (c) MESCIUS 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 DsPdfWeb.Demos.Basics
- {
- // Shows how to attach files to a PDF document.
- // In this sample we attach a few photos and two PDFs, including an AcroForm.
- // See also the FileAttachments sample that demonstrates file attachment annotations,
- // which are files associated with a specific location on a page.
- public class DocAttachments
- {
- public int CreatePDF(Stream stream)
- {
- var doc = new GcPdfDocument();
- var page = doc.NewPage();
- var files = new (string, string)[]
- {
- ( "Images", "tudor.jpg" ),
- ( "Images", "sea.jpg" ),
- ( "Images", "puffins.jpg" ),
- ( "Images", "lavender.jpg" ),
- ( "Images", "skye.jpg" ),
- ( "Images", "fiord.jpg" ),
- ( "Images", "newfoundland.jpg" ),
- ( "PDFs", "HelloWorld.pdf" ),
- ( "PDFs", "FormFields.pdf" )
- };
- var sb = new StringBuilder();
- foreach (var f in files)
- sb.AppendLine(f.Item2);
- Common.Util.AddNote(
- "Several images and PDFs are attached to this document:\n\n" +
- sb.ToString(), page);
- foreach (var f in files)
- {
- var file = Path.Combine("Resources", f.Item1, f.Item2);
- var fspec = FileSpecification.FromEmbeddedFile(EmbeddedFileStream.FromFile(doc, file));
- doc.EmbeddedFiles.Add(file, fspec);
- }
- // Done:
- doc.Save(stream);
- return doc.Pages.Count;
- }
- }
- }
-