C# Programm um ein PostScript Datei in PDF umzuwandeln

OP #7580202
Lesenswert?

Hallo zusammen, ich habe folgende Code um PostScript in PDF umzuwandeln. Ghostscript.NET ist schon installiert

ich bekomme folgende Fehlermeldung: Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand Fehler CS0246 Der Typ- oder Namespacename "GhostscriptPdfSettings" wurde nicht gefunden (möglicherweise fehlt eine using-Direktive oder ein Assemblyverweis). ConverttoPDF
hast jemand ein Idee wotran es liegt? Danke

using Ghostscript.NET; using Ghostscript.NET.Rasterizer; using System;

class Program { static void Main() { // Pfade für die PostScript- und PDF-Dateien string postScriptFilePath = "C:\PMT Projekt\SmartQC\dwsample1-ps.ps"; string pdfFilePath = "C:\PMT Projekt\SmartQC\Ergebnis.pdf";

1
    // Umwandlung von PostScript zu PDF
2
    ConvertPostScriptToPDF(postScriptFilePath, pdfFilePath);
3

4
    Console.WriteLine($"Die Umwandlung von {postScriptFilePath} zu {pdfFilePath} wurde abgeschlossen.");
5
}
6

7
static void ConvertPostScriptToPDF(string postScriptFilePath, string pdfFilePath)
8
{
9
    try
10
    {
11
        // Einstellungen für Ghostscript
12
        GhostscriptVersionInfo gvi = new GhostscriptVersionInfo("C:\\Program Files\\gs\\gs10.02.1\\bin\\gsdll64.dll");
13

14
        // Konfiguriere den Rasterizer
15
        using (var rasterizer = new GhostscriptRasterizer())
16
        {
17
            rasterizer.Open(postScriptFilePath, gvi, false);
18

19
            // Speichere das gerasterte Bild als PDF
20
            var pdfSettings = new GhostscriptPdfSettings();
21
            pdfSettings.Device = GhostscriptDevices.pdfwrite;
22
            pdfSettings.Page.AllPages = true;
23

24
            rasterizer.Save(pdfFilePath, pdfSettings);
25
        }
26
    }
27
    catch (Exception ex)
28
    {
29
        Console.WriteLine($"Fehler beim Konvertieren von PostScript zu PDF: {ex.Message}");
30
    }
31
}

}

#7580207
Lesenswert?

Die Fehlermeldung ist doch eindeutig, er findet die Methode nicht. Lies die Dokumentation noch mal und arbeite vtl. vorhandene Beispiele durch, sehr wahrscheilich ist die vorhandene Usinglist unvollständig.

Ich würde das schlicht und ergreifend über die Ghostscript DLL gs32dll.dll bzw. gs64dll.dll machen. Da gibt es exortierte Funktionen die das können. Habe ich selbst schon so gemacht.

(Firma: 1984now) #7583528
Lesenswert?

Hans schrieb:

Die Fehlermeldung ist doch eindeutig

Ja.

er findet die Methode nicht

Nein. Er findet die Klasse nicht.

Und was man degegen tun kann, liefert die Fehlermeldung auch gleich mit:

möglicherweise fehlt eine using-Direktive oder ein Assemblyverweis

Man muss also den Assembly-Verweis auf das Assembly erzeugen, was die Klasse enthält und kontrollieren, dass halt im Code auch das using-Statement für den Namespace vorhanden ist, der diese Klasse enthält.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren