【问题标题】:iText v 7 error, "classes can only inherit from other classes" at "Inherits IDocumentReadyListener"iText v 7 错误,“类只能从其他类继承”在“继承 IDocumentReadyListener”
【发布时间】:2018-09-18 22:08:34
【问题描述】:

如何解决“继承IDocumentReadyListener”的“类只能从其他类继承”的错误?这是在 VB.net 中使用 iText v7 api。我正在尝试从 pdf 拆分器中获取字节数组。

Class ByteArrayPdfSplitter
    Inherits iText.Kernel.Utils.PdfSplitter

    Private currentOutputStream As MemoryStream

    Public Sub New(ByVal pdfDocument As iText.Kernel.Pdf.PdfDocument)
        MyBase.New(pdfDocument)
    End Sub

    Protected Overrides Function GetNextPdfWriter(ByVal documentPageRange As iText.Kernel.Utils.PageRange) As iText.Kernel.Pdf.PdfWriter
        currentOutputStream = New MemoryStream()
        Return New iText.Kernel.Pdf.PdfWriter(currentOutputStream)
    End Function

    Public ReadOnly Property CurrentMemoryStream As MemoryStream
        Get
            Return currentOutputStream
        End Get
    End Property

    Public Class DocumentReadyListender
        Inherits IDocumentReadyListener

        Private splitter As ByteArrayPdfSplitter

        Public Sub New(ByVal splitter As ByteArrayPdfSplitter)
            Me.splitter = splitter
        End Sub

        Public Sub DocumentReady(ByVal pdfDocument As iText.Kernel.Pdf.PdfDocument, ByVal pageRange As iText.Kernel.Utils.PageRange)
            pdfDocument.Close()
            Dim contents As Byte() = splitter.CurrentMemoryStream.ToArray()
            Dim pageNumber As String = pageRange.ToString()
        End Sub
    End Class

End Class

【问题讨论】:

    标签: vb.net itext7


    【解决方案1】:

    IDocumentReadyListener 不是一个类,它是一个接口,每当你实现一个接口时,正确的关键字是Implements,而不是@ 987654324@。因此:

    Public Class DocumentReadyListender
            Implements IDocumentReadyListener
    

    有关接口的更多背景信息,请阅读例如here

    【讨论】:

    • 谢谢mkl!我太菜鸟了!
    猜你喜欢
    • 1970-01-01
    • 2013-02-09
    • 1970-01-01
    • 1970-01-01
    • 2020-10-21
    • 1970-01-01
    • 1970-01-01
    • 2018-05-23
    • 1970-01-01
    相关资源
    最近更新 更多