ActionSound1.vb
C# VB
'''' This code is part of Document Solutions for PDF .NET demos.'' Copyright (c) MESCIUS inc. All rights reserved.''Imports System.IOImports System.DrawingImports GrapeCity.Documents.PdfImports GrapeCity.Documents.Pdf.AcroFormsImports GrapeCity.Documents.Pdf.ActionsImports GrapeCity.Documents.Pdf.AnnotationsImports GrapeCity.Documents.Text
Public Class ActionSound1 Public Function CreatePDF(ByVal stream As Stream) As Integer Dim soundPaths As String() = { Path.Combine("Resources", "Sounds", "ding.aiff"), Path.Combine("Resources", "Sounds", "dong.wav") } Dim doc = New GcPdfDocument() Dim page = doc.NewPage()
Dim rc = Util.AddNote( "This sample creates a PDF with some pushbuttons, " & "and associates each button's MouseDown event " & "with an ActionSound that plays a sound file.", page)
Dim resolution = page.Graphics.Resolution Dim g = page.Graphics Dim tf = New TextFormat() With {.Font = StandardFonts.Times, .FontSize = 14} ' Prep a simple layout: Dim ip = New PointF(resolution, rc.Bottom + resolution / 2) Dim fldOffset = resolution * 2.5F Dim fldHeight = tf.FontSize * 1.2F Dim dY = resolution * 0.4F
' Add the buttons with ActionSound on MouseDown events: For Each soundPath In soundPaths Dim btn = New PushButtonField() btn.Widget.Page = page btn.Widget.Rect = New RectangleF(ip.X + fldOffset, ip.Y, resolution, fldHeight) btn.Widget.ButtonAppearance.Caption = Path.GetFileNameWithoutExtension(soundPath) Dim sound = New ActionSound(SoundObject.FromFile(soundPath)) With { .Volume = 0.5F } btn.Widget.Events.MouseDown = sound btn.Widget.Highlighting = HighlightingMode.Invert doc.AcroForm.Fields.Add(btn) ip.Y += dY Next
'' Done: doc.Save(stream) Return doc.Pages.Count End FunctionEnd Class