using (PdfDocument doc = new PdfDocument())
{
doc.PageSettings.Size = PdfPageSize.A4; // in points
doc.PageSettings.Margins.All = 0;
for (int i = 0; i < emfFiles.Length; i++)
{
string emfFile = emfFiles[i];
string tempEmfFile = Path.Combine(tempPath, uniqueFileString + "_Metafile_" + i.ToString() + ".emf");
File.Copy(emfFile, tempEmfFile);
PdfPage page = doc.Pages.Add();
PdfGraphics graphics = page.Graphics;
graphics.ScaleTransform(0.96f, 0.96f);
graphics.TranslateTransform(12, 12); // 16.66667 px --> 12 pts
PdfMetafileLayoutFormat format = new PdfMetafileLayoutFormat();
format.SplitImages = true;
format.SplitTextLines = true;
format.Layout = PdfLayoutType.OnePage;
using (PdfMetafile metaChart = new PdfMetafile(tempEmfFile))
{
metaChart.PageUnit = GraphicsUnit.Pixel;
metaChart.Draw(page, Point.Empty, format);
}
}
doc.Save(pdfFile);
doc.Close(true);
}