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

2023-12-27

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

<Grid>
    <zoom:ZoomControl>
    <graphsharp:GraphLayout x:Name="graphLayout"
                            Graph="{Binding ElementName=root, Path=GraphToVisualize}" 
                            LayoutAlgorithmType="FR"
                            OverlapRemovalAlgorithmType="FSA"
                            HighlightAlgorithmType="Simple"></graphsharp:GraphLayout>
    </zoom:ZoomControl>
    <Button Content="Button" Height="23" Name="button1" Width="75" Margin="12,294,658,412" Click="button1_Click" />
</Grid>

我现在想使用 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 吗? 谢谢


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

我不知道您可以直接从 WPF 转换为 PDF,但这非常简单

使用 WPFXPSPDF。

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 是您的视觉/布局

sources:

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 pdfsharp 将 wpf 布局保存为 pdf,c# 的相关文章

随机推荐

  • 我如何开始 Beta 测试?

    我有一个项目 我想尽快开始 beta 测试 它是一个面向程序员的 PHP MySQL 网站 我之前有过测试版网站 但它总是在内部 而且我从来没有做过可以 应该被与该项目相关的其他人看到的测试版 我应该如何开始测试版 除了测试版应该暴露的问题
  • Android AlertDialog标题背景颜色

    有没有办法改变AlertDialog android support v7 app AlertDialog 的标题背景颜色 目前在我的主题中我有
  • 片段无法转换为上下文?

    我正在开发一个带有 Recyclerview Cardview 和 GridLayout 的 Android 应用程序 我收到了如标题所示的错误 Reminders java 片段类 public class Reminders exten
  • vs 2012 中使用数据源进行 Web 性能测试

    我在 Visual Studio 2012 中创建的 Web 性能测试遇到一些问题 我创建了一个测试来检查我们的订单系统 但在第一次运行测试时 您选择订单的页面上出现错误 如果我再次运行相同的测试 它似乎有效 由于我使用包含用户名和密码的数
  • 一个表中可以有多个主键吗?

    一个表中可以有多个主键吗 一个表可以有一个复合主键这是由两列或更多列组成的主键 例如 CREATE TABLE userdata userid INT userdataid INT info char 200 primary key use
  • java .properties 文件值中的换行符

    我真的需要使用原始 unicode 字符转义来将换行符嵌入到我的 properties 文件中吗 This http docs oracle com javase 1 4 2 docs api java util Properties ht
  • Rails 多步表单,无需 Wizard Gem

    我有一个 Rails 3 2 14 应用程序 用于收集呼叫数据 新的和编辑操作表单在一页上相当长 我正在寻求实现一个多步骤表单 该表单使用 JS 客户端处理来沿着步骤移动 我看过邪恶的宝石 https github com schneems
  • 如果表为空,如何返回失败

    使用SQL Server 2005 但仍然使用DTS 我需要添加一个步骤来检查表是否为空 如果是 则以某种方式使该步骤失败 检查表是否为空很容易 Select count from source table 但返回 0 也是成功的 如果它是
  • 如何通过插件在 Eclipse 项目中创建包(文件夹)

    我尝试为 Eclipse 开发一个小插件 以在多个文件夹 包 中创建多个 Java 文件 作为大型软件的新模块的起点 我尝试过使用IFile像这样的对象 final IFile file container getFile new Path
  • Swift - 使用 downloadTaskWithURL 下载视频

    我正在通过 downloadTaskWithURL 下载视频 并使用以下代码将其保存到我的图库中 func saveVideoBis fileStringURL String print saveVideoBis let url NSURL
  • MVC 中的默认 CSS3 复选框模板

    我一直在尝试为我的布尔编辑器编写默认复选框模板 但由于 MVC Razor 如何为单个布尔模型属性呈现多个输入元素 我遇到了问题 我定义了这个模板 model Boolean div class check box Html CheckBo
  • git gc 使用大量内存,即使我限制了它

    我在共享主机 uberspace de 上运行 git 并且在执行时达到了内存限制git push or git gc 他们报告的内存消耗约为 1500 MB 所以我遵循了建议 https stackoverflow com a 87614
  • mapView:didSelectAnnotationView:无法正常工作。

    我正在构建一个使用内置地图视图的 IOS 应用程序 我成功放置了自定义注释等 但是 我在按下注释时调用的委托函数 mapView didSelectAnnotationView 时遇到问题 我第一次按注释时 该函数被正确调用 但是 如果我再
  • 将英尺和英寸转换为厘米时出现奇怪的问题,反之亦然

    public static double convertFeetandInchesToCentimeter String feet String inches double heightInFeet 0 double heightInInc
  • 展平 XSD 模式文档 (HR-XML 3.0) [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有几个 主要 XSD 文档 它们导入 支持 XSD 文档 这些模式文档恰好来自 HR XML 3 0
  • Java中有没有办法覆盖类变量?

    class Dad protected static String me dad public void printMe System out println me class Son extends Dad protected stati
  • 我可以自动生成 Squeryl 数据对象来反映现有的 MySql 架构吗?

    我在 MySql 数据库中有一个现有的架构定义 我使用 MySql Workbench 创建了架构 我希望从我的 Lift Scala Squeryl 代码访问该架构 我知道一个简单的方法是使用 Squeryl 数据对象手动定义模式结构 是
  • CollectionView 的 NSFetchedResultsControllerDelegate

    我想在 CollectionViewController 中使用 NSFetchedResultsControllerRelegate 因此 我只是更改了 CollectionView 的 TableViewController 的方法 v
  • 如何删除 Mongo 中已弃用的字段? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已从文档定义中删除了一些字段 我想在所有集合文档中删除此字段 我该怎么做 Try db collection update
  • 使用 pdfsharp 将 wpf 布局保存为 pdf,c#

    我是 c wpf 和 pdfsharp 库的新手 这是我的 XAML 代码