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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.