c# - 如何从 WPF MVVM 中的用户控件创建 PDF

标签 c# wpf pdf mvvm user-controls

我正在创建一个 WPF 应用程序。我使用 MS Visual Studio 2010、C# 和 MVVM。

在用户控件上,我有一个 gridview。该gridview通过绑定(bind)和itemsourceing等填充了来自另一个类的数据......那里没有问题。我看到了数据和一切。我在用户控件周围还有一些标签和文本框。用户将使用这些来填写随机数据。名字,地址之类的东西。你可以称之为订单。 GridView 中的产品列表以及下面提供的详细信息。

一旦用户单击确定,应用程序现在应该创建整个用户控件的 PDF。我怎么做?

我可以很好地将 GridView 导出到 Excel。但现在我想基本上将用户控件重新创建为 PDF 文件。
我已经在线阅读,我可以创建用户控件的图像并将该图像转换为 PDF。那会有帮助吗?我从屏幕截图中知道文本框周围仍然有边框等。

但是现在,如何使用 MVVM 方法从用户控件创建 PDF?
还有一个附带问题。如果我可以使用保存到对话框,用户可以在其中选择保存文件的位置,我可以在字符串中获取该位置以使用它在单独的用户控件上的报表查看器中打开 PDF 文档吗?

如果需要编码、图像或其他任何内容,请发表评论,我将使用更改编辑问题。

最佳答案

在 C# 中,从 UserControl 生成 PDF 并非易事。我强烈建议您找到一个 3rd 方工具来创建您的报告设计并使用它来导出为 PDF。

如果您决定不站在巨人的肩膀上并想自己动手,那么您需要实现以下内容

  • 创建一个单独的控件,它可以使用您的 ViewModel 作为它的 DataContext,但它具有用于打印的颜色和阴影的控件
  • 使用 System.Windows.Xps 命名空间库将控件导出到 XPS。
  • 使用第三方工具将 XPS 转换为 PDF。

  • 这很痛苦,我知道,但我无法为你找到更简单的路线。

    关于c# - 如何从 WPF MVVM 中的用户控件创建 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22379378/

    相关文章:

    python - 连接 PDF 从另一个 python 脚本调用 join.py OSX 脚本并传递参数

    c# - Silverlight 2 - 下载文件 - IE Blocks 文件下载

    c# - 在 Java 中使用 C# 代码

    c# - 是否存在限制解决方案的访问修饰符?

    c# - 使用 wpf 3D 图形将 3d 模型显示为 3D 网格对象

    c# - 调用 MediaCapture.StartPreviewAsync 时为 "InvalidOperationException: A method was called at an unexpected time"

    c# - ANTLR4 C# 运行时解析速度极慢

    c# - 如何从sql导出到格式化的excel

    php - 使用 Javascript 执行流程并将更新/回调发送到网络服务器

    python - 填充 PDF 文件 - Python