如何将PrintDocument保存到文件?

3

我在C#中创建了一个PrintDocument,我可以打印它,但现在我想将其保存到文件中。是否可以将其保存为Word文档?


使用虚拟打印机?比如Linux中的cups-pdf或Windows中的doPDF?现在说真的,打印只是华丽的绘图。有了这个想法,你可以将代码移植到创建PNG上。[我知道,你想要一个Word文档]。你可以创建一个HTML文件,使用JavaScript调用打印对话框,然后你可以在浏览器中打开它(以打印)或在Word中打开(以编辑)。 - Theraot
@Peter,请阅读我的答案评论并相应地投票。谢谢。 - Yusubov
2个回答

4

根据您的意图,这可能会有用:

如果您的目标是在以后重新印刷它,这将起作用:

print_doc.PrinterSettings.PrintToFile = true;
print_doc.PrinterSettings.PrintFileName = "backup.prn";

1

是的,它正在绘图。我的代码中有很多Graphics.DrawString(...)调用和Graphics.DrawLine(...)等。因此,这些绘图位于一个公共void Itinerary_PrintPage(object sender, PrintPageEventArgs ev)方法中,然后这些绘图位于一个PrintDocument对象上,然后我在默认的PrintPreview对话框中显示它们。有一个按钮选项可以从打印预览对话框中单击以打印。没有选择不同打印机或虚拟打印机的选项。 - Peter Bennett
该页面从数据库中获取数据,因此在生成时显示数据。这只是一个单页文档。我正在使用与Microsoft Word相同的字体。我想知道是否可以使用Microsoft.Office.Interop.Word将其发送到Word或仅将其保存为Word文档。 - Peter Bennett
你最初的问题是“是否可以将它保存为Word文档?”我在我的回答中提供了一个参考。如果有效,请告诉我。 - Yusubov
2
感谢@EIYusubov提供的有用参考资料。我现在有了一个答案:我认为将其保存为Word文档可能不可能,或者会非常困难或复杂。我找到了一种方法来打开Microsoft Word,发送一些文本,将文档保存到硬盘并关闭Word。我应该从一开始就使用这种方法。我将不得不放弃我的现有代码,并从头开始使用这种方法。另一种选择是使用iTextSharp,它允许您创建PDF文档。但是我仍然需要从头开始。无论如何,这不是什么大问题。 - Peter Bennett
但是我想知道除了打印之外,你还能用PrintDocument做什么?这个参考链接是关于PrintDocument的,并且有一个示例。PrintDocument我的文档是以类似的方式构建的。 - Peter Bennett
太好了!我很高兴你找到了一种方法。 - Yusubov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接