From 541209bc9fdb885a60398ef796db88895813f3fd Mon Sep 17 00:00:00 2001 From: sameerkhan001 Date: Mon, 1 Sep 2025 17:37:00 +0530 Subject: [PATCH] 977281: Added EMF to PDF Converter sample code. --- .../.NET Framework/Convert-EMF-to-PDF.sln | 25 +++++++ .../Convert-EMF-to-PDF/App.config | 6 ++ .../Convert-EMF-to-PDF.csproj | 64 ++++++++++++++++++ .../Convert-EMF-to-PDF/Data/Input.emf | Bin 0 -> 107404 bytes .../Convert-EMF-to-PDF/Program.cs | 50 ++++++++++++++ .../Properties/AssemblyInfo.cs | 33 +++++++++ .../Convert-EMF-to-PDF/packages.config | 6 ++ 7 files changed, 184 insertions(+) create mode 100644 Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF.sln create mode 100644 Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF/App.config create mode 100644 Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF/Convert-EMF-to-PDF.csproj create mode 100644 Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF/Data/Input.emf create mode 100644 Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF/Program.cs create mode 100644 Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF/Properties/AssemblyInfo.cs create mode 100644 Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF/packages.config diff --git a/Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF.sln b/Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF.sln new file mode 100644 index 00000000..27449d2d --- /dev/null +++ b/Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.14.36408.4 d17.14 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Convert-EMF-to-PDF", "Convert-EMF-to-PDF\Convert-EMF-to-PDF.csproj", "{31495091-2413-4172-8197-4D714A487C9B}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {31495091-2413-4172-8197-4D714A487C9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {31495091-2413-4172-8197-4D714A487C9B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {31495091-2413-4172-8197-4D714A487C9B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {31495091-2413-4172-8197-4D714A487C9B}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {3007161A-3616-4ABD-91C7-A153F79A32CE} + EndGlobalSection +EndGlobal diff --git a/Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF/App.config b/Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF/App.config new file mode 100644 index 00000000..56efbc7b --- /dev/null +++ b/Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF/Convert-EMF-to-PDF.csproj b/Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF/Convert-EMF-to-PDF.csproj new file mode 100644 index 00000000..e203815c --- /dev/null +++ b/Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF/Convert-EMF-to-PDF.csproj @@ -0,0 +1,64 @@ + + + + + Debug + AnyCPU + {31495091-2413-4172-8197-4D714A487C9B} + Exe + Convert_EMF_to_PDF + Convert-EMF-to-PDF + v4.7.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\Syncfusion.Compression.Base.30.2.7\lib\net462\Syncfusion.Compression.Base.dll + + + ..\packages\Syncfusion.Licensing.30.2.7\lib\net462\Syncfusion.Licensing.dll + + + ..\packages\Syncfusion.Pdf.WinForms.30.2.7\lib\net462\Syncfusion.Pdf.Base.dll + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF/Data/Input.emf b/Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF/Data/Input.emf new file mode 100644 index 0000000000000000000000000000000000000000..2fa495b2570533371889ce75111bcd997c427c99 GIT binary patch literal 107404 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 literal 0 HcmV?d00001 diff --git a/Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF/Program.cs b/Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF/Program.cs new file mode 100644 index 00000000..99a3ee88 --- /dev/null +++ b/Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF/Program.cs @@ -0,0 +1,50 @@ +using Syncfusion.Pdf; +using Syncfusion.Pdf.Graphics; +using System; +using System.Drawing; +using System.Drawing.Imaging; + +namespace Convert_EMF_to_PDF +{ + internal class Program + { + static void Main(string[] args) + { + // Create a new PDF document + PdfDocument doc = new PdfDocument(); + + // Set all page margins to zero + doc.PageSettings.Margins.All = 0; + + // Add a new page to the document + PdfPage page = doc.Pages.Add(); + + // Create PDF graphics object for drawing on the page + PdfGraphics graphics = page.Graphics; + + // Define layout format for rendering metafile content + PdfMetafileLayoutFormat format = new PdfMetafileLayoutFormat(); + + // Enable splitting of images across pages if needed + format.SplitImages = true; + + // Enable splitting of text lines across pages if needed + format.SplitTextLines = true; + + // Load the EMF (Enhanced Metafile) image from file + Metafile metaChart = new Metafile(@"../../Data/Input.emf"); + + // Convert the metafile to a PDF-compatible format + PdfMetafile pdfMetaChart = new PdfMetafile(metaChart); + + // Draw the metafile image on the entire page area + graphics.DrawImage(pdfMetaChart, new RectangleF(0, 0, page.GetClientSize().Width, page.GetClientSize().Height)); + + // Save the document to a file + doc.Save(@"Output.pdf"); + + // Close the document and release resources + doc.Close(true); + } + } +} diff --git a/Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF/Properties/AssemblyInfo.cs b/Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..8c4e9e1b --- /dev/null +++ b/Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF/Properties/AssemblyInfo.cs @@ -0,0 +1,33 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Convert-EMF-to-PDF")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Convert-EMF-to-PDF")] +[assembly: AssemblyCopyright("Copyright © 2025")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("31495091-2413-4172-8197-4d714a487c9b")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF/packages.config b/Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF/packages.config new file mode 100644 index 00000000..1dbef920 --- /dev/null +++ b/Images/Convert-EMF-to-PDF/.NET Framework/Convert-EMF-to-PDF/packages.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file