2009-10-05 17 views
3

Est-ce que quelqu'un a créé cette exception à partir de ABCpdf? Nous fonctionnons sur Server 2008 et ne rencontrons que des problèmes lors de la conversion de fichiers Office (Word et Excel). Tout cela a bien fonctionné sur Server 2003. Comme nous ne rencontrons que des problèmes avec les fichiers Office, je me demande si cela est lié au support XPS sur Server 2008? Le code qui appelle cette fonction s'exécute en tant que service Windows.Exception lors de la conversion de fichiers Office au format PDF à l'aide de ABCpdf.NET onWindows Server 2008

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: Tentative de lecture ou en écriture mémoire. C'est souvent une indication que l'autre mémoire est corrompue. ---> System.AccessViolationException: Tentative de lecture ou d'écriture de la mémoire protégée . C'est souvent une indication que l'autre mémoire est corrompue. à WebSupergoo.ABCpdf7.Internal.NDoc._InvokeMethod (IntPtr INDOC, Int32 inMethod, Int32 inIndex, Int32 inFlags, String inParams, & chaîne outErr) à WebSupergoo.ABCpdf7.Internal.NDoc.InvokeMethod (IntPtr INDOC, int32 inMethod, Int32 inIndex, Int32 inFlags, String inParams, & chaîne outErr) à WebSupergoo.ABCpdf7.Doc.PrintToXps (String InputFile, String outputFile, délai d'int32 , String printerName) à WebSupergoo.ABCpdf7.Operations. XpsImportOperation.ImportAny (Doc doc, chemin de chaîne, délai d'attente Int32) à WebSupergoo.ABCpdf7.XReadOptions.ImportXpsAny (Doc doc, chemin de la chaîne, booléen clair) à WebSupergoo.ABCpdf7.XReadOptions.Read (Doc doc, byte [] de données, le module ReadModuleType ) à WebSupergoo.ABCpdf7.XReadOptions .Lire (Doc doc, Byte [] données)

Répondre

0

Le problème réel est que le dossier dans lequel vous essayez d'écrire le fichier donne l'autorisation d'écriture à IIS_IUSR. Alors ça devrait marcher.