有没有人从ABCpdf中删除这个例外?我们在Server 2008上运行,只有转换Office文件(Word和Excel)的问题。这一切在Server 2003上运行良好。因为我们只遇到Office文件的问题,我想知道它是否与Server 2008上的XPS支持有关?调用此函数的代码作为Windows服务运行。
Private Overloads Function ConvertMicrosoftOfficeDocToPdf(ByVal inputFile As Byte(), ByVal fileExt As String) As Byte()
Dim abcDoc As WebSupergoo.ABCpdf7.Doc = Nothing
Try
abcDoc = New WebSupergoo.ABCpdf7.Doc()
Dim xro As New WebSupergoo.ABCpdf7.XReadOptions()
xro.FileExtension = fileExt
Try
abcDoc.Read(inputFile, xro)
Catch ex As Exception
System.Diagnostics.Trace.Write(ex.ToString())
Throw ex
End Try
Dim fileBytes As Byte() = abcDoc.GetData()
Return fileBytes
Finally
If Not abcDoc Is Nothing Then
abcDoc.Clear()
abcDoc.Dispose()
End If
End Try
End Function
WebSupergoo.ABCpdf7.Internal.PDFException: 试图读或写受保护 记忆。这通常是一个迹象 其他内存已损坏。 ---> System.AccessViolationException: 试图读或写受保护 记忆。这通常是一个迹象 其他内存已损坏。 在WebSupergoo.ABCpdf7.Internal.NDoc._InvokeMethod(IntPtr inDoc,Int32 inMethod,Int32 inIndex, Int32 inFlags,String inParams, 字符串和放大器; outErr) 在WebSupergoo.ABCpdf7.Internal.NDoc.InvokeMethod(IntPtr inDoc,Int32 inMethod,Int32 inIndex, Int32 inFlags,String inParams, 字符串和放大器; outErr) 在WebSupergoo.ABCpdf7.Doc.PrintToXps(String inputFile,String outputFile,Int32 timeout,String printerName) at WebSupergoo.ABCpdf7.Operations.XpsImportOperation.ImportAny(Doc doc,String path,Int32 timeout) 在WebSupergoo.ABCpdf7.XReadOptions.ImportXpsAny(Doc doc,String path,Boolean clear) 在WebSupergoo.ABCpdf7.XReadOptions.Read(Doc doc,Byte []数据,ReadModuleType 模块) 在WebSupergoo.ABCpdf7.XReadOptions.Read(Doc doc,Byte []数据)
答案 0 :(得分:3)
在此处添加了名为“桌面”的文件夹:
C:\的Windows \ Syswow64资料\配置\ systemprofile \
答案 1 :(得分:0)
实际问题是您尝试编写文件的文件夹,给IIS_IUSR写入权限。然后它应该工作。