使用pdfsharp将wpf布局保存为pdf,c#

 xjw4478688 发布于 2023-02-12 22:11

我是c#,wpf和pdfsharp库的新手.这是我的XAML代码:


    
    
    
    

我现在想要使用Pdfsharp将我的"graphLayout"保存到pdf文件中.我创建了一个按钮,基本上使用了pdfsharp wiki中的"hello world"示例代码来启动.

PdfDocument document = new PdfDocument();
        document.Info.Title = "Created with PDFsharp";
        PdfPage page = document.AddPage(); 
        XGraphics gfx = XGraphics.FromPdfPage(page);
        XFont font = new XFont("Verdana", 20, XFontStyle.BoldItalic);
        gfx.DrawString("My Graph", font, XBrushes.Black,
            new XRect(0, 0, page.Width, page.Height),
            XStringFormats.TopCenter);
        const string filename = "MyGraph.pdf";
        document.Save(graphLayout+filename);
        Process.Start(filename);

我得到一个pdf,但其中只有文字.有人可以告诉我,我如何将整个布局保存为PDF格式?谢谢

1 个回答
  • 阅读文档:http://www.pdfsharp.net/wiki/Graphics.ashx?AspxAutoDetectCookieSupport = 1

    我不知道你可以直接从WPF转换为PDF,但它很简单

    使用WPF < - > XPS < - > PDF.

    MemoryStream lMemoryStream = new MemoryStream();
    Package package = Package.Open(lMemoryStream, FileMode.Create);
    XpsDocument doc = new XpsDocument(package);
    XpsDocumentWriter writer = XpsDocument.CreateXpsDocumentWriter(doc);
    writer.Write(dp);
    doc.Close();
    package.Close();
    
    var pdfXpsDoc = PdfSharp.Xps.XpsModel.XpsDocument.Open(lMemoryStream);
    PdfSharp.Xps.XpsConverter.Convert(pdfXpsDoc, d.FileName, 0);
    

    其中dp是你的视觉/布局

    来源:

    http://www.nathanpjones.com/wp/2013/03/output-to-pdf-in-wpf-for-free/

    http://www.pdfsharp.net/wiki/PDFsharpSamples.ashx

    2023-02-12 22:21 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有