Μετατροπή DGN σε PSD με GroupDocs.Conversion για .NET

Εισαγωγή

Αν χρειάζεστε να μετατρέψετε σχέδια AutoCAD DGN σε αρχεία Photoshop PSD, groupdocs conversion .net είναι η αξιόπιστη βιβλιοθήκη που κάνει τη βαριά δουλειά. Σε αυτό το tutorial θα ανακαλύψετε γιατί αυτό το API είναι η κορυφαία επιλογή για προγραμματιστές, πώς να το εγκαταστήσετε και τον ακριβή κώδικα που χρειάζεστε για να εκτελέσετε μια άψογη μετατροπή DGN‑σε‑PSD. Στο τέλος, θα είστε έτοιμοι να ενσωματώσετε τη λογική μετατροπής σε οποιαδήποτε εφαρμογή .NET και να βελτιώσετε την αποδοτικότητα της ροής εργασίας σας.

Γρήγορες Απαντήσεις

  • Ποια βιβλιοθήκη διαχειρίζεται τη μετατροπή DGN → PSD; GroupDocs.Conversion for .NET.
  • Χρειάζομαι άδεια για παραγωγή; Ναι – μια πλήρης άδεια αφαιρεί τους περιορισμούς της δοκιμής.
  • Μπορώ να μετατρέψω αρχεία DGN πολλαπλών σελίδων; Κάθε σελίδα αποθηκεύεται ως ξεχωριστό αρχείο PSD.
  • Ποιες εκδόσεις .NET υποστηρίζονται; .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6+.
  • Πόσο διαρκεί μια τυπική μετατροπή; Περίπου 0.5 s ανά σελίδα για αρχεία κάτω από 200 σελίδες σε έναν τυπικό διακομιστή.

Τι είναι το groupdocs conversion .net;

GroupDocs.Conversion for .NET είναι ένα υψηλής απόδοσης API που επιτρέπει προγραμματιστική μετατροπή μεταξύ 50+ μορφών εγγράφων, εικόνων και CAD—συμπεριλαμβανομένου του DGN σε PSD—χωρίς την ανάγκη εξωτερικών εφαρμογών. Επεξεργάζεται τα αρχεία στη μνήμη, μειώνοντας το φορτίο I/O και βελτιώνοντας τη λανθάνουσα. Η βιβλιοθήκη προσφέρει επίσης ενσωματωμένη υποστήριξη για streaming, επεξεργασία batch και λεπτομερή καταγραφή, καθιστώντας την κατάλληλη τόσο για μικρά εργαλεία όσο και για μεγάλες επιχειρησιακές γραμμές παραγωγής.

Γιατί να χρησιμοποιήσετε το GroupDocs.Conversion για DGN → PSD;

Το GroupDocs.Conversion παρέχει ένα ευρύ χαρτοφυλάκιο μορφών, κλιμακώσιμη αρχιτεκτονική και υψηλής πιστότητας απόδοση. Μπορεί να διαχειριστεί αρχεία DGN εκατοντάδων σελίδων διατηρώντας τη χρήση μνήμης κάτω από 150 MB μέσω streaming σελίδων μία‑μία. Η ακρίβεια διατηρείται στο 99.9 % πιστότητας, και η τυπική μετατροπή ενός αρχείου DGN 150 σελίδων ολοκληρώνεται σε λιγότερο από 45 seconds σε CPU 2.4 GHz.

Προαπαιτούμενα

  • GroupDocs.Conversion for .NET (Version 25.3.0 ή νεότερη)
  • Ένα περιβάλλον ανάπτυξης .NET (Visual Studio 2022 ή VS Code)
  • Βασικές γνώσεις C#

Πώς να εγκαταστήσω το GroupDocs.Conversion για .NET;

Μπορείτε να εγκαταστήσετε το πακέτο μέσω NuGet. Ανοίξτε το Package Manager Console στο Visual Studio και εκτελέστε:

Install-Package GroupDocs.Conversion

Ή, αν προτιμάτε το .NET CLI, εκτελέστε:

dotnet add package GroupDocs.Conversion

Και οι δύο εντολές κατεβάζουν τα πιο πρόσφατα σταθερά binaries και προσθέτουν τις απαραίτητες αναφορές στο αρχείο του έργου σας.

Πώς μπορώ να αποκτήσω άδεια GroupDocs conversion;

Μια έγκυρη άδεια ξεκλειδώνει όλες τις λειτουργίες και αφαιρεί τα υδατογραφήματα. Επιλέξτε μία από τις παρακάτω επιλογές:

  • Δωρεάν Δοκιμή: Περιορισμένη σε 5 conversions per day.
  • Προσωρινή Άδεια: Πλήρες σύνολο λειτουργιών για 30 days, ideal for evaluation.
  • Πληρωμένη Άδεια: Άδεια ανά προγραμματιστή ή για ολόκληρο τον ιστότοπο για χρήση σε παραγωγή.

Επισκεφθείτε τη σελίδα επίσημης αγοράς ή τη σελίδα προσωρινής άδειας για λεπτομέρειες.

Πώς να αρχικοποιήσω τη μηχανή Conversion;

Η κλάση ConversionConfig αποθηκεύει τις παγκόσμιες ρυθμίσεις όπως διαδρομές αποθήκευσης και πληροφορίες άδειας. Αρχικοποιήστε την μία φορά κατά την εκκίνηση της εφαρμογής:

var config = new ConversionConfig
{
    LicensePath = @"C:\Licenses\GroupDocs.Conversion.lic",
    StoragePath = @"C:\ConvertedFiles"
};

Η κλάση Converter εκτελεί την πραγματική μετατροπή αρχείου βάσει της παρεχόμενης διαμόρφωσης.

Πώς να μετατρέψετε ένα αρχείο DGN σε PSD βήμα προς βήμα

Φορτώστε το πηγαίο DGN, διαμορφώστε τις επιλογές PSD και κάντε streaming κάθε σελίδας σε ξεχωριστό αρχείο PSD. Η διαδικασία περιλαμβάνεται σε τρία σύντομα βήματα.

Βήμα 1: Προετοιμασία καταλόγων εξόδου και προτύπου ονομασίας

Ορίστε πού θα αποθηκευτούν τα παραγόμενα αρχεία PSD και πώς θα ονομάζονται:

string outputFolder = Path.Combine(config.StoragePath, "DgnToPsd");
Directory.CreateDirectory(outputFolder);
string fileTemplate = Path.Combine(outputFolder, "Page_{0}.psd");

Βήμα 2: Δημιουργία διαχειριστή ροής για κάθε σελίδα

Η βοηθητική μέθοδος SavePage γράφει τον πίνακα byte κάθε σελίδας σε ροή αρχείου, εξασφαλίζοντας σωστή απελευθέρωση:

void SavePage(Stream pageStream, int pageNumber)
{
    string filePath = string.Format(fileTemplate, pageNumber);
    using (var file = new FileStream(filePath, FileMode.Create, FileAccess.Write))
    {
        pageStream.CopyTo(file);
    }
}

Βήμα 3: Φόρτωση του DGN και εκτέλεση της μετατροπής

Δημιουργήστε ένα αντικείμενο Converter, ορίστε τις επιλογές PSD και επαναλάβετε τις σελίδες:

using (var converter = new Converter("sample.dgn", config))
{
    var options = new PsdConvertOptions();
    var pages = converter.GetPages();

    int pageIndex = 1;
    foreach (var page in pages)
    {
        using (var stream = new MemoryStream())
        {
            converter.Convert(page, stream, options);
            SavePage(stream, pageIndex++);
        }
    }
}

Ο παραπάνω κώδικας διαβάζει κάθε σελίδα DGN, τη μετατρέπει σε ροή PSD και την αποθηκεύει χρησιμοποιώντας τη βοηθητική μέθοδο SavePage.

Πώς να διαχειριστώ μεγάλα αρχεία DGN αποδοτικά;

Όταν εργάζεστε με αρχεία μεγαλύτερα από 200 MB, ενεργοποιήστε τη λειτουργία streaming για να αποφύγετε τη φόρτωση ολόκληρου του εγγράφου στη μνήμη. Αυτή η σημαία λέει στη μηχανή να επεξεργάζεται τις σελίδες μία‑μια, διατηρώντας τη μέγιστη χρήση μνήμης χαμηλή:

var config = new ConversionConfig { EnableStreaming = true };

Συχνά Προβλήματα και Λύσεις

  • Διαδρομή αρχείου δεν βρέθηκε: Χρησιμοποιήστε απόλυτες διαδρομές ή Path.Combine με AppDomain.CurrentDomain.BaseDirectory.
  • Λείπουν εξαρτήσεις: Επαληθεύστε ότι η έκδοση του πακέτου NuGet ταιριάζει με το runtime (.NET Framework vs .NET Core).
  • Σφάλματα άδειας: Βεβαιωθείτε ότι το αρχείο .lic είναι προσβάσιμο και η διαδρομή έχει οριστεί σωστά στο ConversionConfig.

Συχνές Ερωτήσεις

Q: Μπορώ να μετατρέψω ένα DGN αρχείο προστατευμένο με κωδικό;
A: Ναι. Περάστε τον κωδικό στο κατασκευαστή Converter: new Converter("file.dgn", config, "password").

Q: Διατηρεί η μετατροπή τις πληροφορίες των επιπέδων;
A: Το GroupDocs.Conversion διατηρεί τα διανυσματικά επίπεδα ως ξεχωριστές ομάδες PSD, επιτρέποντας επεξεργασία μετά τη μετατροπή στο Photoshop.

Q: Είναι δυνατόν να μετατρέψετε μαζικά πολλαπλά αρχεία DGN;
A: Απόλυτα. Επανάληψη μέσω ενός καταλόγου, δημιουργία Converter για κάθε αρχείο και επαναχρησιμοποίηση του ίδιου ConversionConfig.

Q: Ποιες είναι οι απαιτήσεις συστήματος για βέλτιστη απόδοση;
A: Συνιστώνται CPU ≥ 2.4 GHz, 8 GB RAM και αποθήκευση SSD για αρχεία κάτω από 500 σελίδες.

Q: Πώς να καταγράψω σφάλματα μετατροπής για παρακολούθηση;
A: Εγγραφείτε στο συμβάν Converter.OnError και γράψτε τις λεπτομέρειες στο προτιμώμενο πλαίσιο καταγραφής.

Συμπέρασμα

Τώρα έχετε μια πλήρη, έτοιμη για παραγωγή λύση για τη μετατροπή σχεδίων DGN σε αρχεία PSD χρησιμοποιώντας groupdocs conversion .net. Η εκτενής υποστήριξη μορφών του API, η υψηλή πιστότητα και οι δυνατότητες streaming το καθιστούν ιδανικό τόσο για μικρά εργαλεία όσο και για μεγάλες επιχειρησιακές γραμμές παραγωγής. Εξερευνήστε επιπλέον μορφές, προσαρμόστε τις επιλογές μετατροπής και ενσωματώστε αυτή τη ροή εργασίας στις υπάρχουσες υπηρεσίες .NET για να ανοίξετε νέες δυνατότητες.


Last Updated: 2026-06-10
Tested With: GroupDocs.Conversion 25.3.0 for .NET
Author: GroupDocs


Πόροι

Install-Package GroupDocs.Conversion -Version 25.3.0
dotnet add package GroupDocs.Conversion --version 25.3.0
using System;
using GroupDocs.Conversion;

namespace DgnToPsdConversion
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialize the Converter object with your source file path
            using (Converter converter = new Converter("path_to_your_dgn_file.dgn"))
            {
                // Conversion logic will be implemented here
            }
        }
    }
}
string outputFolder = @"YOUR_OUTPUT_DIRECTORY/";
string outputFileTemplate = Path.Combine(outputFolder, "converted-page-{0}.psd");
Func<SavePageContext, Stream> getPageStream = savePageContext => 
    new FileStream(string.Format(outputFileTemplate, savePageContext.Page), FileMode.Create);
using (Converter converter = new Converter(@"YOUR_DOCUMENT_DIRECTORY\sample.dgn"))
{
    // Set up conversion options for PSD format
    ImageConvertOptions options = new ImageConvertOptions { Format = GroupDocs.Conversion.FileTypes.ImageFileType.Psd };
    
    // Perform the conversion using the defined stream handler
    converter.Convert(getPageStream, options);
}

Σχετικά Μαθήματα