SoundAnnotations.cs
//
// このコードは、DioDocs for PDF のサンプルの一部として提供されています。
// © MESCIUS inc. All rights reserved.
//
using System;
using System.IO;
using System.Drawing;
using GrapeCity.Documents.Pdf;
using GrapeCity.Documents.Text;
using GrapeCity.Documents.Pdf.Annotations;
namespace DsPdfWeb.Demos.Basics
{
// このサンプルは、PDF ドキュメントに音声注釈を追加する方法を示します。
public class SoundAnnotations
{
public int CreatePDF(Stream stream)
{
var doc = new GcPdfDocument();
var page = doc.NewPage();
// 注釈の作成者のユーザー名
var user1 = "Aiff Ding";
var user2 = "Wav Dong";
var tf = new TextFormat() { Font = StandardFonts.Helvetica, FontSize = 10 };
var noteWidth = 72 * 3;
var gap = 8;
var rc = Common.Util.AddNote(
"このサンプルは、DsPdf を使用して音声注釈を追加する方法を示します。" +
"注釈に関連付けられているトラックは、それをサポートしているビューワで再生できます。" +
"PDF は、音声注釈で AIFF および WAV トラックをサポートします。",
page);
// AIFF 音声注釈
var ip = new PointF(rc.X, rc.Bottom + gap);
rc = Common.Util.AddNote("赤色の音声注釈がこのメモの右側に配置されています。音声を再生するにはアイコンをダブルクリックします。",
page, new RectangleF(ip.X, ip.Y, noteWidth, 100));
var aiffAnnot = new SoundAnnotation()
{
UserName = user1,
Contents = "AIFF トラックによる音声注釈です。",
Rect = new RectangleF(rc.Right, rc.Top, 24, 24),
Icon = SoundAnnotationIcon.Speaker,
Color = Color.Red,
Sound = SoundObject.FromFile(Path.Combine("Resources", "Sounds", "ding.aiff"), AudioFormat.Aiff)
};
page.Annotations.Add(aiffAnnot);
// WAV 音声注釈
ip = new PointF(rc.X, rc.Bottom + gap);
rc = Common.Util.AddNote("青色の音声注釈がこのノートの右側に配置されています。音声を再生するにはアイコンをダブルクリックします。",
page, new RectangleF(ip.X, ip.Y, noteWidth, 100));
var wavAnnot = new SoundAnnotation()
{
UserName = user2,
Contents = "WAV トラックによる音声注釈です。",
Rect = new RectangleF(rc.Right, rc.Top, 24, 24),
Icon = SoundAnnotationIcon.Mic,
Color = Color.Blue,
Sound = SoundObject.FromFile(Path.Combine("Resources", "Sounds", "dong.wav"), AudioFormat.Wav)
};
page.Annotations.Add(wavAnnot);
// PDF ドキュメントを保存します。
doc.Save(stream);
return doc.Pages.Count;
}
}
}