-1

我正在使用此代码将我的 XFA 数据读取到我的 vb.net 应用程序中。但是,我无法弄清楚如何将填充的PDFFrom 加载到应用程序中。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Dim filePath As String

        filePath = "d:\waiver_testing\test_pdf\rfrprg67.pdf"

        TextBox1.Text = Export(filePath)

    End Sub

Public Shared Function Export(populatedPDFForm As System.IO.Stream) As System.IO.MemoryStream

        '  Exports XFA data from a PDF File
        '  <param name="populatedPDFForm">a readable stream of the PDF with a populated form</param>
        '  <returns>A stream containing the exported XML form data</returns>

        Dim outputStream As New System.IO.MemoryStream()
        Dim reader As New iTextSharp.text.pdf.PdfReader(populatedPDFForm)
        Dim settings As XmlWriterSettings = New XmlWriterSettings
        settings.Indent = True
        'settings.OmitXmlDeclaration = True

        Using writer = XmlWriter.Create(outputStream, settings)
            reader.AcroFields.Xfa.DatasetsNode.WriteTo(writer)
        End Using

        Return outputStream

    End Function

在线错误: textbox1.text = Export(filePath)

错误: Value type "String" cannot be converted to to "System.IO.Stream"

有人可以给我扔一根骨头吗?

4

1 回答 1

1

好吧,您不能将 a 分配MemoryStream给字符串。你需要先转换它。例如,要将流作为 Ascii 读取,您可以使用Encoding.ASCII.GetString.
此外,您的Export函数似乎将流作为参数而不是文件路径。要处理该写入:

Using inStream As Stream = File.OpenRead(filePath)
  TextBox1.Text = Encoding.ASCII.GetString(Export(inStream).ToArray())
End Using
于 2015-02-23T19:38:26.740 回答