为有中文需求的客户提供多渠道中文技术支持.

Mon Jan 30, 2023 10:35 am

我想使用spire.doc打印word文档。 想实现多页打印到一张A4纸上,比如,我想把2页的文档打印到一张A4纸上。我看了文档。没有找到如何实现。
代码如何实现呢?同时也问一下,打印机的纸盒是这样设置的吗?
Document doc = new Document();
doc.LoadFromFile(filePath);
//设置纸盒
if (taskBean.printType == 2)
{
//设置相纸来源为纸盒1
doc.PrintDocument.PrinterSettings.DefaultPageSettings.PaperSource = doc.PrintDocument.PrinterSettings.PaperSources[1];
}
else
{ //设置A4纸张来源为纸盒2
doc.PrintDocument.PrinterSettings.DefaultPageSettings.PaperSource = doc.PrintDocument.PrinterSettings.PaperSources[2];
}
谢谢

feitianlee
 
Posts: 2
Joined: Mon Jan 30, 2023 10:31 am

Tue Jan 31, 2023 6:38 am

你好,

感谢您的咨询。
我们的产品Spire.DOC目前还不支持多页文档打印到一张纸上,但我们已将它作为新功能添加到我们产品的升级列表,编号:SPIREDOC-9012。这个新功能一旦实现,我们将会第一时间通知您。此外,您设置纸盒的代码是正确的。

Sincerely,
Triste
E-iceblue support team
User avatar

Triste.Dai
 
Posts: 1000
Joined: Tue Nov 15, 2022 3:59 am

Wed Feb 01, 2023 1:23 am

好的。谢谢。

feitianlee
 
Posts: 2
Joined: Mon Jan 30, 2023 10:31 am

Tue May 16, 2023 5:52 am

您好,

感谢您的耐心等待。
很高兴通知您,我们的最新发布的Spire.Doc 11.5.6 hotfix 现在已支持多页文档打印到一张纸上,参考代码如下:
Code: Select all
Document doc = new Document();
doc.LoadFromFile(inputFile, FileFormat.Docx);
System.Windows.Forms.PrintDialog printDialog = new System.Windows.Forms.PrintDialog();
printDialog.PrinterSettings.PrintToFile = true;
printDialog.PrinterSettings.PrintFileName = "sample-new-4.xps";
doc.PrintDialog = printDialog;
doc.PrintMultipageToOneSheet(PagesPreSheet.FourPages, true);

更多更新内容介绍请参阅我们官网:https://www.e-iceblue.cn/spiredoc/spire-doc-11-5-6.html
您可以通过以下下载链接进行下载然后测试:
网站链接:https://www.e-iceblue.cn/Downloads/Spire-Doc-NET.html
Nuget:https://www.nuget.org/packages/Spire.Doc/11.5.6

Best regards,
Triste
E-iceblue support team
User avatar

Triste.Dai
 
Posts: 1000
Joined: Tue Nov 15, 2022 3:59 am

Return to 中文技术支持