我正在尝试使用字节数组生成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
如此生成的文件无法打开。
答案 0 :(得分:2)
我不认为.Rtf(Rich Text Format)数据相当于.Pdf(Portable document format)。
您似乎正在使用DevExpress RichEditControl,它似乎不支持直接保存PDF文件,请参阅可用文档document formats。
我建议使用.Rtf扩展名保存RTF数据,并在写完后使用RTF到PDF文档转换器,或使用像PDFsharp这样的Pdf文档编写器库。
要将.Rtf文件转换为.Pdf,您可以automate Microsoft Word(如果您可以认为它将在目标计算机上)或使用独立的.Net库,例如