2

我正在尝试使用字节数组生成 pdf 文件。使用的代码是:

Public Sub SavePdf(ByVal bytes() As Byte)
    Dim filePath As String = HttpContext.Current.Server.MapPath("~/ClientBin/file1.pdf")
    Dim byteData() As Byte = bytes
    File.WriteAllBytes(filePath,byteData)
End Sub

字节数组是使用richEditControl 生成的。代码如下:

 Public Sub generateByte_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim ms As MemoryStream = New MemoryStream()
    ms.Flush()
    richEditControl1.SaveDocument(ms, DocumentFormat.Rtf)
    client.SavePdf(ms.ToArray())
    MessageBox.Show("FileSaved")
End Sub

这样生成的文件打不开。

4

1 回答 1

2

我不认为 .Rtf(富文本格式)数据等同于 .Pdf(便携式文档格式)。

看来您正在使用似乎不支持直接保存 PDF 文件的 DevExpress RichEditControl,请参阅可用文档格式的文档。

我建议使用 .Rtf 扩展名保存 RTF 数据并在编写后使用 RTF 到 PDF 文档转换器,或者使用PDFsharp 之类的 Pdf 文档编写器库。

要将 .Rtf 文件转换为 .Pdf ,您可以自动化 Microsoft Word(如果您可以假设它将在目标计算机上)或使用独立的 .Net 库,例如

于 2014-04-09T06:09:19.963 回答