PrintDialog ToPage应小于页数

时间:2015-10-30 14:58:02

标签: vb.net printing syncfusion

我最近将我的计算机升级到Windows 10,现在其中一个程序在升级后表现得很奇怪。 尝试打印PDF格式的页面范围,当我打印1到100页(477页)时,即使100小于477,我也会收到错误ToPage should be less than the page count。 如果我跳过页面范围部分并打印所有页面,它可以正常工作。

Sub PrintToPaperSync(ByVal InputfilePath As String, Optional ByVal DeleteAfter As Boolean = False)
    On Error GoTo sError

    Dim tError As String = ""
    Dim toPage As Integer = 0

    Console.WriteLine("PrintToPaper " & InputfilePath)
    Dim File As String = Split(InputfilePath, "\")(Split(InputfilePath, "\").Length - 1)
    Dim viewer As New Syncfusion.Windows.Forms.PdfViewer.PdfDocumentView
    viewer.Load(InputfilePath)
    Dim print As New System.Windows.Forms.PrintDialog()

    print.Document = viewer.PrintDocument
    print.Document.DocumentName = File

    'print 100 pages at a time
    Do While toPage < viewer.PageCount
        print.Document.PrinterSettings.PrintRange = Drawing.Printing.PrintRange.SomePages
        print.Document.PrinterSettings.FromPage = toPage + 1
        toPage += 100
        print.Document.PrinterSettings.ToPage = IIf(toPage < viewer.PageCount, toPage, viewer.PageCount)

        tError = "From: " & print.Document.PrinterSettings.FromPage & " | To: " & print.Document.PrinterSettings.ToPage & " | PageCount: " & viewer.PageCount & " - "
        print.Document.Print()

        Application.DoEvents()
    Loop

    viewer.Unload()
    viewer.Dispose()

    Console.WriteLine("Printing: " & InputfilePath)

    Exit Sub
sError:
    Dim ErrorStr As String = ErrorToString()
    WriteLine("PrintToPaper " & tError & " " & InputfilePath & " - " & ErrorStr)
End Sub

错误全文:
PrintToPaper From: 1 | To: 100 | PageCount: 477 - F:\Process\LogTag-10-30-15-104122.pdf - ToPage should be less than the page count

我们希望一次只能打印100页,因为出于某种原因打印机在100页后开始变慢。

1 个答案:

答案 0 :(得分:1)

此打印问题是由于Syncfusion控件的问题引起的。您可以联系Syncfusion软件支持团队以解决问题。请按照以下链接联系Syncfusion支持团队

Click Here