如何默认生成的 XPS 文件的名称?

2024-02-03

如果用户打印报告,并且他们碰巧正在使用微软 XPS 打印机,我希望默认的文件名是有意义的。

我本以为 XPS 打印机会采用打印作业的名称,并将其用作默认文件名 - 但事实并非如此。

当我打印到该打印机时,是否有其他某种编程方式来默认生成的 XPS 文件的名称?我在想可能会有这样的事情:

  • 一个注册表项
  • 全局共享内存
  • API 调用如 SetDefaultXPSFilename()
  • 有关打印作业的扩展属性

Example

自动执行 Excel 创建电子表格:

Excel xl = new ExcelApplication();
Workbook wb = xl.Workbooks.Add();
GenerateReport(wb);
wb.PrintOut();

现在如果用户的默认打印机是Microsoft XPS Document Writer,那么用户将得到:

我想要一个方法File name默认为有用的东西,例如:

20110729 - Chip Bank Settlement Sheet.xps

用户将接受默认文件名,文件将自动组织,而不是用户键入:

asdfadf.xps

参考

  • Eggheadcafe:XPS 默认文件名 http://www.eggheadcafe.com/software/aspnet/30644727/xps-default-file-name.aspx
  • MSDN:发送到打印机时的 XPS 名称 http://social.msdn.microsoft.com/Forums/en-US/windowsxps/thread/362da945-575f-41a6-8588-68d71929f146

碰撞:20110729(12个月后)


出色地, 这是一个简单的方法(至少就我而言):

(myPrintPage继承自System.Drawing.Printing.PrintDocument)

    With myPrintPage
        With .PrinterSettings
            If .PrinterName = "Microsoft XPS Document Writer" Then
            .PrintToFile = True
            .PrintFileName = "c:\test.pdf"
            End If
        End With
        .Print()
    End With

我还没有找到一种方法来确定我选择的打印机是否要打印到文件中,因此需要对打印机的名称进行测试。

除了上面的之外,这里还有一段我觉得有用的代码:

假设我的默认打印机不是 XPS Document Writer。我的代码需要自动归档一些数据,在 XPS 中打印报告,然后提供用户在默认打印机上打印报告。在第二步中,我需要更改 myPrintPage 的 PrinterSettings。
具体方法如下:

  'save xps results
    'is the XPS printer installed?
    Dim myXPSfound As Boolean = False
    For Each s As String In System.Drawing.Printing.PrinterSettings.InstalledPrinters
        If s.Contains("XPS") Then
            myXPSfound = True
            Exit For
        End If
    Next
    If myXPSfound Then
        'Manual settings of the XPS printerSettings
        Dim myXPSPrinterSettings As New Drawing.Printing.PrinterSettings
        myXPSPrinterSettings.Collate = False
        myXPSPrinterSettings.Copies = 1
        myXPSPrinterSettings.Duplex = Drawing.Printing.Duplex.Simplex
        myXPSPrinterSettings.FromPage = 0
        myXPSPrinterSettings.MaximumPage = 9999
        myXPSPrinterSettings.MinimumPage = 0
        myXPSPrinterSettings.PrinterName = "Microsoft XPS Document Writer"
        myXPSPrinterSettings.PrintRange = Drawing.Printing.PrintRange.AllPages
        myXPSPrinterSettings.PrintToFile = True
        myXPSPrinterSettings.ToPage = 1

        myPrintPage.PrinterSettings = myXPSPrinterSettings
        myPrintPage.PrinterSettings.PrintToFile = True
        myPrintPage.PrinterSettings.PrintFileName = mytargetFileName & ".xps"
        Try
            myPrintPage.Print()
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Information, "Error Printing the XPS File")
        End Try
    Else
        MsgBox("The Microsoft XPS Writer was no found on this computer", MsgBoxStyle.Information, "Error Printing the XPS File")
    End If


有时它可以很方便。

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

如何默认生成的 XPS 文件的名称? 的相关文章

  • Python 输出格式

    你好 我搜索过输出格式 但格式没有成功 我找不到合适的文档 我真的想了解这段代码是如何工作的 如果有人可以启发我吗 print Survived i 1f len survived float len survived len train
  • 自定义 QPrintPreviewDialog

    是否可以自定义PrintPreviewDialog 我想界定放大和缩小功能 我知道这个问题已经有几个月了 但我花了相当长的时间才弄清楚 所以这里是 QPrintPreviewDialog preview printer this QList
  • 我无法理解的Python print 行为

    我的代码片段如下所示 from time import sleep for i in xrange 10 status hello s str i status status chr 8 len status 1 sleep 1 print

  • 无法在 Windows 8 / 8.1 上运行

    Windows 8 8 1 最初问题出现在8中 所以我升级到8 1 但问题仍然存在 浏览器11 0 2 我正在使用一个名为 eTools 的产品 它用于生成和管理龙与地下城游戏的角色表 该信息存储在数据库文件中 但为了创建字符表 该软件使用
  • 如何在Python中读取多行输入?

    我想在Python中输入多行 但是当我尝试然后打印结果时 它打印的只是第一行 有没有办法从输入中读取第一行下方的行 例如 lista input Insert the data here print print lista 假设我想输入 你
  • 在 Python 中打印进度条处理

    我编写了这个简单的函数 processing flush 以便打印一系列点 由索引给出 来测试我的软件是否正在处理我的数据以及最终的速度 我的数据的总大小未知 import sys import time def processing fl
  • 为什么打印 int[] 时会得到垃圾输出?

    我的程序应该计算文件中每个字符的出现次数 忽略大小写 我写的方法是 public int getCharTimes File textFile throws FileNotFoundException Scanner inFile new
  • 在 JavaScript 或 Node 中将 Blob 数据转换为原始缓冲区

    我正在使用插件jsPDF https github com MrRio jsPDF它生成 PDF 并将其保存到本地文件系统 现在在 jsPDF js 中 有一些代码可以生成 blob 格式的 pdf 数据 如下所示 var blob new
  • 在 C# 中打印表单/用户控件

    我的计划 包含一个带有几个文本框和一个按钮的表单 默认打印机 设置为Adobe PDF在我的电脑上 My Goal 想要在用户单击 打印 按钮时截取表单 用户控件的屏幕截图 然后屏幕截图将以 pdf 格式保存在桌面上 我的问题 我的代码有以
  • 从 Windows 服务打印 pcl 文件的 LPR 命令不起作用(现在是托盘应用程序)

    我已经四处寻找可能的解决方案和解释一段时间了 但我找不到任何东西 以下命令正在从 Windows 服务运行 如果直接在 cmd 中使用 相同的命令也可以运行 它不会返回任何错误或与此相关的任何其他内容 System Diagnostics
  • 在 Epson TM-T88IVM 上打印简体汉字

    我正在尝试使用 C 中的 Microsoft 服务点 SDK 在 Epson TM T88IV M 并行端口 上打印中文字符 但是 它们在打印机上显示为问号 我的 PosPrinter 具有以下有效的 CharacterSetList 25
  • 为 Python 2 解压打印列表

    我无法理解为什么解包不适用于 Python 2 7 中的列表和打印语句 gt gt gt l a b c gt gt gt print l sep Python 3 x 工作正常并打印 abc 然而 Python 2 7 会引发错误 pri
  • 将 div 的内容放在一起以便在 IE8 中打印

    给定以下 HTML 文档 我需要将 表标题 行保留在与 table 在 IE8 中打印时 尽管page break inside avoid 标题和表格之间仍然有一个分页符 我对此的理解表明应该避免分页并且整个div推至第 2 页 文档类型
  • 使用 Bixolon R200 进行打印的 Android 应用程序

    我正在开发一个 Android 应用程序 用于使用 Bixolon R200 进行打印 我在工作中使用 bxlprint jar 的类 当我想打印波斯字符串时 打印机打印奇怪的字符 我使用UTF 8和UTF 16进行编码 你能帮我吗 Str
  • 从 WPF 打印/报告的最佳方法是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何使用 WiFi Direct 打印文本文件

    我有一个正在运行的 Android 应用程序 可以显示用户统计信息 我想将纯文本格式 txt 的小报告发送到 WiFi Direct 打印机 我已经下载了示例demo https developer android com guide to
  • 禁用页面的浏览器打印选项(页眉、页脚、边距)?

    我在 SO 和其他几个网站上看到过以几种不同的方式提出这个问题 但大多数都太具体或过时了 我希望有人能在这里提供明确的答案 而不是迎合猜测 当有人在浏览器中打印时 有没有办法使用 CSS 或 javascript 更改默认打印机设置 当然
  • 从 Android 打印,无需系统对话框

    我想从我的 Android 应用程序打印图像 打印机 canon selphy cp910 带 wifi direct 我尝试使用 Google API 和 android support v4 print PrintHelper 类 它有
  • Windows 如何批量打印 PDF 文档?

    在我的机器上 当在 Windows 资源管理器中选择多个 PDF 文档时 右键单击并选择Print Adobe Acrobat Reader 将最小化打开 所有文档都会静默发送到打印机 我想做Windows一样的事情 但是怎么做呢 我在用P
  • WebBrowser.Print() 等待完成。 。网

    我在 VB NET 中使用 WebBrowser 控件并调用 Print 方法 我正在使用 PDF 打印机进行打印 当调用 Print 时 它不会立即启动 它会等到完成整个子或块的运行代码 我需要确保我正在打印的文件也完整并继续处理该文件

随机推荐

  • 如何在新进程中运行函数?

    现在我处于进程的线程之一A 我需要创建新流程B在当前线程中 并在进程中运行B功能MyFunc 我该怎么做 我找到了如何从当前进程创建子进程 click http msdn microsoft com en us library window
  • jqgrid - 添加新行并禁用restoreRow功能

    如果我要添加新行并且启用自动编辑新添加的行 那么我想执行验证并通过 ENTER 按钮保存行 但我不想通过 ESC 按钮恢复行 因为我设置了required true按所有字段 如果新添加的行将至少有一个字段为空 则按 ESC 按钮 rest
  • 如何将动态组件放入容器中

    我想创建动态组件并将这些组件的视图插入到容器中 我认为这可以通过以下方式实现视图容器引用 https angular io docs ts latest api core index ViewContainerRef class html
  • TypeError C 是未定义的数据表

    我试图将使用 ajax 获得的一些数据渲染到数据表中 但似乎我丢失了一些东西 因为它显示错误 TypeError c is undefined 我读过这篇文章 数据表类型错误 c 未定义 https stackoverflow com qu
  • 无论如何要将 Owin HTTPS 限制为 TLS 1.2?

    我想将我的 Webapi 锁定为 TLSv1 2 因此不允许使用 TLSv1 1 等 我看到了以下帖子 但它似乎只与 ASP NET Core 相关 有什么方法可以将 ASP NET Core 2 0 HTTPS 限制为 TLS 1 2 h
  • 无法使用 no_std/lang_items 编译 Rust

    我正在尝试建立一个非常类似于的项目dueboot https github com jensnockert dueboot 即嵌入式 ARM 上的 Rust 现在 我只完成了 Rust 代码的编译 但无法编译它 我基本上完全从该项目中复制了
  • IOS企业应用无法安装请稍后再试

    I know this question has been asked a lot on SO however I can ensure that my case is different I am unable to install an
  • 两点碰撞法线

    我正在尝试计算两点的碰撞法线 我需要这个碰撞响应方程来计算新的角速度和线速度 例如 当两个 2d 或 3d 盒子的角相互碰撞时 就会发生这种情况 他们的碰撞正常情况是怎样的 现在 在顶点和面碰撞的情况下 碰撞法线将只是面的法线 它是未定义的
  • 用于文件引用的c# xml代码注释

    xml代码注释中有文件引用的标签吗 该文件是一个sql脚本文件 只是想知道是否有比这样更好的方法
  • 通过 $resource angularjs 获取条件数据

    我正在使用 resource 服务进行增删改查操作 现在我想获取诸如开始日期为今天的约会之类的条件的数据 我正在通过以下方式获取所有数据 vm appointments AppointmentsService query 我的服务代码是 f
  • 过滤包含特定字符串的行

    我必须使用包含字符串的行作为标准来过滤数据框RTB 我在用着dplyr d del lt df gt group by TrackingPixel gt summarise MonthDelivery as integer sum Reve
  • 警告:文本内容不匹配。服务器:“我出去了” 客户端:“我进来了” div

    我在用着universal cookie在 Next js 项目中 这是在控制台中返回警告的简单代码 import React useState from react import Cookies from universal cookie
  • 如何在 Frama-C 中自定义机器依赖?

    我有一个 16 位 MPU 其大小与 x86 16 不同size t ptrdiff t等等 任何人都可以给我有关如何在 Frama C 中为我的 MPU 自定义机器依赖性的详细信息和明确说明吗 目前无法直接从命令行执行此操作 您必须编写一
  • SwiftUI Font 如何将 uppercased() 与 LocalizedStringKey 一起使用

    我正在尝试创建一种斜体和大写的字体样式 我还使用 LocalizedStringKey 来设置我的字符串 我尝试使用smallCaps 但这不适用于italic 如所回答HERE https stackoverflow com questi
  • LINQ-to-SQL:将 Func 转换为表达式 >

    LINQ to SQL 对我来说是一个 PITA 我们使用它与数据库进行通信 然后通过 WCF 将实体发送到 Silverlight 应用程序 一切都工作正常 直到开始编辑 CUD 实体及其相关数据 我终于能够设计出两个允许 CUD 的 f
  • 适用于 Android 设备(和 iOS)的 CouchDB 安全性

    我刚刚完成了一篇 wiki 文章和博客文章CouchDB 的安全性 http wiki apache org couchdb Security Features Overview 现在我想知道这在 Android 中是如何完成的 Andro
  • 以编程方式对数据表中的数字列进行颜色格式

    I am looking to color format each numeric column so that it shows a blue range bar depending on the range of each column
  • 权重偏左堆:自上而下版本合并的优点?

    我正在自学 它要求推理并实现一个偏向权重的左堆 这是我的基本实现 3 4 b functor WeightBiasedLeftistHeap Element Ordered Heap struct structure Elem Elemen
  • tempfile 和 mktemp 有什么区别?

    我遇到的大多数系统都有tempfile 1 and mktemp 1 存在语法差异 并且mktemp也可以创建目录 但它们似乎做同样的事情 两者有什么区别吗 为什么两者都存在 一个比另一个更标准吗 如果我只想安全地创建临时文件 是否有理由选
  • 如何默认生成的 XPS 文件的名称?

    如果用户打印报告 并且他们碰巧正在使用微软 XPS 打印机 我希望默认的文件名是有意义的 我本以为 XPS 打印机会采用打印作业的名称 并将其用作默认文件名 但事实并非如此 当我打印到该打印机时 是否有其他某种编程方式来默认生成的 XPS