2016-11-10 5 views
1

In meiner ASP.Net-Anwendung verwende ich 'PDFTron 6.0.1.0'. Bevor ich meine docx-Dateien in xod konvertiere (mit der Methode pdftron.PDF.Convert.ToXod), überprüfen wir das Vorhandensein eines virtuellen Druckers und installieren ihn, wenn er nicht vorhanden ist. Dazu verwenden wir folgenden Code:Pdftron Virtual Printer konnte nicht installiert werden

private void CheckIfVirtualPrinterRequired(string inputFilePath, out bool uninstallVirtualPrinter) 
{ 
    uninstallVirtualPrinter = false; 
    if (pdftron.PDF.Convert.RequiresPrinter(inputFilePath)) 
    { 
     if (pdftron.PDF.Convert.Printer.IsInstalled("PDFTron Creator")) 
     { 
      pdftron.PDF.Convert.Printer.SetPrinterName("PDFTron Creator"); 
     } 
     else if (!pdftron.PDF.Convert.Printer.IsInstalled()) 
     { 
      pdftron.PDF.Convert.Printer.Install(); 
      uninstallVirtualPrinter = true; 
     } 
    } 
} 

jedoch bei 'pdftron.PDF.Convert.Printer.Install();' Code, erhalte ich SEHException:

External component has thrown an exception. Stack Trace: at trn.PDF.Convert.Printer.Install(UString*) at pdftron.PDF.Convert.Printer.Install() at *****.PDFTronService.CheckIfVirtualPrinterRequired(String inputFilePath, Boolean& uninstallVirtualPrinter) in c:***\PDFTronService.cs:line 126

ich nach manuell versucht habe, 64-Bit-Versionen von 'PDFTron Creator' Installation und 'PDFTron PDFNet' Drucker, aber die Umsetzung immer noch nicht mit Fehlern:

Unable to convert file, too many attempts. Conditional expression: false, Filename : Convert.cpp, Function : trn::PDF::Convert::ToPdf, Linenumber : 1742 at pdftron.PDF.Convert.ToXod(inputFilePath, outFileName);

Bitte Hilfe bei diesem Problem.

Antwort

0

Zunächst ist der virtuelle Drucker für die Office-Konvertierung nicht erforderlich, wenn Sie MS Office installiert haben. Wenn MS Office installiert ist, verwendet PDFNet Interop für die Kommunikation. RequiresPrinter gibt True für Office-Dokumente zurück, obwohl es für Office-Dokumente wirklich optional ist.

Der virtuelle Drucker wird normalerweise für andere Dateitypen verwendet, z. AutoCad DWG.

Wenn Sie kein MS-Office installiert haben und Office-Dokumente mithilfe von LibreOffice konvertieren möchten, benötigen Sie den virtuellen Drucker.

Außerdem müssen Sie den Drucker nur einmal installieren. Nicht jedes Mal, wenn Sie konvertieren möchten.

Um den virtuellen Drucker zu installieren, müssen Sie mit erhöhten Rechten arbeiten, und PDFNet 32bit | 64bit muss mit Ihrem Betriebssystem 32bit | 64bit übereinstimmen.

Wenn der SEH-Fehler weiterhin besteht, würde ich empfehlen, die neueste Version von PDFNet zu testen.

Verwandte Themen