然后在顶部加载jpg以90度角写入一些文本。然后转换为pdf?

时间:2012-08-18 18:09:40

标签: c# pdfsharp

使用pdfsharp.net库 - 我试图加载一个大的背景jpg然后在它上面以90度角写一些文本。然后保存为pdf

为什么我的c#代码不起作用。

using System.Diagnostics;
using System.IO;
using System.Drawing;
using PdfSharp;
using PdfSharp.Drawing;
using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;
using System.Drawing.Imaging;


namespace test
{

    class Program
    {
        static void Main(string[] args)
        {
            PdfDocument myDoc = new PdfDocument();
            PdfPage myPage = myDoc.AddPage();
            myPage.Size = PdfSharp.PageSize.A4;

            XGraphics g = XGraphics.FromPdfPage(myPage);
            XImage image = XImage.FromFile(@"myjpg.jpg");
            g.DrawImage(image, 0, 0, myPage.Width, myPage.Height);


            XFont font = new XFont("Verdana", 20, XFontStyle.BoldItalic);
            g.RotateAtTransform(90,new XPoint(0,0));
            g.DrawString("test text!", font, XBrushes.Black, new XRect(0, 0, 200, 50), XStringFormats.Center);

            myDoc.Save(@"test.pdf");
            Process.Start(@"test.pdf");
        }
    }

}

1 个答案:

答案 0 :(得分:0)

只是一个疯狂的猜测:你在(0,0)旋转 - 也许你正在将文本旋转出页面。只是假设你看到的是图片,而不是文字 请参阅此处了解使用旋转的工作样本:
http://www.pdfsharp.net/wiki/XForms-sample.ashx

样本中的旋转中心不是(0,0)。

如果我猜错了,请提供您的代码所做的更多信息。