Aspose.Cells Image Converter for .NET
Aspose.Cells Image Converter for .NET is a lightweight, high-performance API designed specifically to transform Microsoft Excel spreadsheets (XLS, XLSX, XLTM, XLSM) into a variety of image formats—including TIFF, JPEG, PNG, BMP, EMF, and GIF—while preserving layout, formatting, charts, and embedded objects. Leveraging the proven rendering engine of Aspose.Cells, this plugin offers fine-grained control over export options, streaming support for large workbooks, and metered licensing to track usage in production environments.
Εγκατάσταση και Ρύθμιση
Προσθέστε το Aspose.Cells Image Converter assembly στο .NET έργο σας μέσω του NuGet ή αναφέροντας απευθείας το DLL. Για καθοδήγηση βήμα‑βήμα, δείτε Εγκατάσταση .
Πριν από την απόδοση οποιωνδήποτε εικόνων, αρχικοποιήστε την μετρημένη άδεια όπως περιγράφεται στο Μετρημένη Άδεια .
Key Features and Functionalities
Worksheet-to-Image Conversion
• Render individual worksheets to standalone images with control over page breaks, scaling, and transparency. • Honors Excel print areas, headers/footers, and margins, ensuring fidelity to Print Preview.
Workbook-to-Multi-Page TIFF
• Εξαγωγή ολόκληρων multi-sheet workbooks σε ένα ενιαίο, multi-page TIFF container. • Κάθε φύλλο αποδίδεται ως ένα TIFF frame για αρχειοθέτηση ή επεξεργασία παρτίδας.
Ολοκληρωμένη Υποστήριξη Μορφών Εικόνας
• Υποστηρίζει TIFF, JPEG, PNG, BMP, EMF και GIF. • Έλεγχος συμπίεσης (LZW, CCITT), διαπλέξης, διαφάνειας και παλετών για διαφορετικές μορφές.
Δυναμική Ονομασία Αρχείων με Σύμβολα Κράτησης Θέσης
• Προσαρμοσμένα πρότυπα εξόδου: Δημιουργήστε πολλαπλές εικόνες με έξυπνες συμβάσεις ονοματοδοσίας χρησιμοποιώντας σύμβολα κράτησης θέσης. • Έλεγχος Δείκτη Φύλλου: Προσαρμόστε την αρίθμηση των φύλλων με προθέματα και τιμές μετατόπισης. • Δεικτοδότηση Διαχωρισμένων Τμημάτων: Διαχειριστείτε μεγάλα φύλλα εργασίας που χωρίζονται σε πολλαπλά αρχεία εικόνας με διαδοχική ονοματοδοσία. • Αυτόματη Οργάνωση Αρχείων: Ονομάζετε συστηματικά τα αρχεία εξόδου βάσει των θέσεων του φύλλου και της σελίδας.
Επιλογές απόδοσης και προσαρμογή
• Ρυθμίστε με ακρίβεια το DPI, την ανάλυση και το βάθος χρώματος. • Διαμορφώστε το anti-aliasing, την ορατότητα των γραμμών πλέγματος και τις γεμίσεις φόντου. • Εφαρμόστε light/dark mode ή προσαρμοσμένα φόντα για επικάλυψη και υδατογραφήματα.
Απόδοση διαγραμμάτων και σχημάτων
• Μετατρέπει διαγράμματα, SmartArt, αντικείμενα OLE και σχήματα με υψηλή πιστότητα. • Διατηρεί θέματα, στυλ, άξονες και ετικέτες δεδομένων για ακριβή απόδοση διαγραμμάτων.
Σελιδοποίηση, κλιμάκωση και ρυθμίσεις εκτύπωσης
• Σεβασμός στη σελιδοποίηση του Excel για αναφορές. • Κλιμάκωση ώστε να ταιριάζει στο πλάτος/ύψος ή σε συγκεκριμένο αριθμό σελίδων. • Οι κεφαλίδες, υποσέλιδα και αριθμοί σελίδων διατηρούνται.
Ροή δεδομένων και διαχείριση μνήμης
• Υποστηρίζει τμηματική απόδοση και έξοδο βασισμένη σε ροή για πολύ μεγάλα βιβλία εργασίας. • Ελαχιστοποιεί το αποτύπωμα μνήμης και αποτρέπει προβλήματα έλλειψης μνήμης.
Κείμενο Υψηλής Πιστότητας και Ενσωμάτωση Γραμματοσειρών
• Διατηρεί τις γραμματοσειρές, την ευθυγράμμιση και τη ροή κειμένου με ενσωματωμένες ή υποκατεστημένες γραμματοσειρές. • Υποστηρίζει RTL, πλάγια γραφή και ασιατικά σενάρια για παγκόσμια συμβατότητα.
Ασφάλεια νήματος και ταυτόχρονη εκτέλεση
• Πολλαπλές εκτελέσεις μπορούν να τρέχουν παράλληλα σε περιβάλλοντα υψηλής απόδοσης. • Σχεδίαση ασφαλής ως προς το νήμα, ιδανική για απόδοση στο διακομιστή.
Διαχείριση Σφαλμάτων και Διαγνωστικά
• Λεπτομερής αναφορά σφαλμάτων για μη υποστηριζόμενες λειτουργίες ή κατεστραμμένα αρχεία. • Καταγράφει προειδοποιήσεις για ελλιπείς γραμματοσειρές ή διαφορές στην απόδοση.
Παραδείγματα Χρήσης
Βασική Μετατροπή: Excel σε Εικόνα
Ο πιο απλός τρόπος για να μετατρέψετε ένα αρχείο Excel σε εικόνα χρησιμοποιώντας μία μόνο γραμμή κώδικα:
using Aspose.Cells.LowCode;
using Aspose.Cells;
string src = "CellsJava46030_2.xlsx";
ImageConverter.Process(src, "PluginImage.png");Αυτό μετατρέπει το πρώτο φύλλο εργασίας σε εικόνα PNG με τις προεπιλεγμένες ρυθμίσεις.
Προηγμένη Μετατροπή με Προσαρμοσμένες Επιλογές
Διαμορφώστε λεπτομερείς επιλογές μετατροπής για ακριβή έλεγχο της εξόδου εικόνας:
using Aspose.Cells.LowCode;
using Aspose.Cells;
using System.IO;
using Aspose.Cells.Drawing;
using Aspose.Cells.Rendering;
string src = "CellsJava46030_2.xlsx";
// Configure load options
LowCodeLoadOptions lclopts = new LowCodeLoadOptions();
lclopts.InputFile = src;
// Configure image save options
LowCodeImageSaveOptions lcsopts = new LowCodeImageSaveOptions();
ImageOrPrintOptions imgOpts = new ImageOrPrintOptions();
imgOpts.ImageType = Aspose.Cells.Drawing.ImageType.Png;
lcsopts.ImageOptions = imgOpts;
// Set up custom file naming with placeholders
LowCodeSaveOptionsProviderOfPlaceHolders p = new LowCodeSaveOptionsProviderOfPlaceHolders(
"result\\PluginImage${SheetIndexPrefix}${SheetIndex}_${SplitPartIndex}.png");
p.SheetIndexOffset = 1; // Start sheet numbering from 1 instead of 0
p.SheetIndexPrefix = "S"; // Add \"S\" prefix to sheet numbers
p.SplitPartIndexOffset = 1; // Start split part numbering from 1
// Ensure output directory exists
Directory.CreateDirectory("result");
// Perform conversion
ImageConverter.Process(lclopts, lcsopts, p);
// Verify output
Console.WriteLine(File.Exists("result\\PluginImageS2_2.png")
? "Expected image file has been generated"
: "Cannot find the expected image file");Ανάλυση Χαρακτηριστικού: Δυναμική Ονομασία Αρχείων
Χρησιμοποιήστε ονομασία με βάση placeholders για να οργανώσετε αυτόματα τις εικόνες εξόδου από βιβλία εργασίας πολλαπλών φύλλων:
LowCodeSaveOptionsProviderOfPlaceHolders p = new LowCodeSaveOptionsProviderOfPlaceHolders(
"output\\Report${SheetIndexPrefix}${SheetIndex}_Page${SplitPartIndex}.png");
p.SheetIndexOffset = 1; // Sheets numbered from 1
p.SheetIndexPrefix = "Sheet"; // Output: "ReportSheet1_Page1.png"
p.SplitPartIndexOffset = 1; // Pages numbered from 1Διαθέσιμα Placeholders:
${SheetIndex}: Ο δείκτης του φύλλου εργασίας (προεπιλογή 0-βάση, προσαρμόσιμος με μετατόπιση)${SheetIndexPrefix}: Προσαρμοσμένο πρόθεμα για αριθμούς φύλλων (π.χ., “S”, “Sheet”, “Tab”)${SplitPartIndex}: Δείκτης σελίδας/διαίρεσης για μεγάλα φύλλα εργασίας (προεπιλογή 0‑βάση, προσαρμόσιμο με μετατόπιση)
Παραδείγματα εξόδου:
- : Με πρόθεμα “S” και μετατόπιση 1:
PluginImageS1_1.png,PluginImageS2_1.png,PluginImageS2_2.png - : Με πρόθεμα “Sheet” και μετατόπιση 1:
ReportSheet1_Page1.png,ReportSheet2_Page1.png - Χωρίς πρόθεμα, μηδενική βάση:
Output0_0.png,Output1_0.png
Περιστάσεις Χρήσης:
- Αυτόματη επεξεργασία παρτίδας με οργανωμένη έξοδο
- Αναφορές πολλαπλών φύλλων με διαδοχική ονομασία
- Μεγάλες φύλλα εργασίας χωρισμένα σε πολλαπλά αρχεία εικόνας
- Συστήματα αρχειοθέτησης που απαιτούν δομημένη ονομασία αρχείων
- Γκαλερί ιστού με προβλέψιμες διευθύνσεις URL εικόνων
Ανάλυση χαρακτηριστικού: Επιλογή μορφής εικόνας
Καθορίστε τη ζητούμενη μορφή εξόδου για τις εικόνες σας:
ImageOrPrintOptions imgOpts = new ImageOrPrintOptions();
// PNG format (lossless, supports transparency)
imgOpts.ImageType = Aspose.Cells.Drawing.ImageType.Png;
// JPEG format (compressed, smaller file size)
imgOpts.ImageType = Aspose.Cells.Drawing.ImageType.Jpeg;
// TIFF format (multi-page, archival quality)
imgOpts.ImageType = Aspose.Cells.Drawing.ImageType.Tiff;
// BMP format (uncompressed)
imgOpts.ImageType = Aspose.Cells.Drawing.ImageType.Bmp;
// EMF format (vector, scalable)
imgOpts.ImageType = Aspose.Cells.Drawing.ImageType.Emf;
// GIF format (animation support)
imgOpts.ImageType = Aspose.Cells.Drawing.ImageType.Gif;Ανάλυση χαρακτηριστικού: Προσαρμογή δείκτη φύλλου
Ελέγξτε πώς αριθμούνται τα φύλλα στα αρχεία εξόδου:
// Zero-based indexing (default)
p.SheetIndexOffset = 0; // Sheets: 0, 1, 2, 3...
// One-based indexing (user-friendly)
p.SheetIndexOffset = 1; // Sheets: 1, 2, 3, 4...
// Custom starting point
p.SheetIndexOffset = 100; // Sheets: 100, 101, 102...
// Add descriptive prefixes
p.SheetIndexPrefix = "Q1_"; // Output: PluginImageQ1_1_1.png
p.SheetIndexPrefix = "Report"; // Output: PluginImageReport1_1.pngΑνάλυση χαρακτηριστικού: Προσαρμογή δείκτη τμημάτων διαίρεσης
Διαχειριστείτε μεγάλα φύλλα εργασίας που διαχωρίζονται σε πολλαπλές σελίδες:
// One-based page numbering
p.SplitPartIndexOffset = 1; // Pages: 1, 2, 3, 4...
// Zero-based page numbering
p.SplitPartIndexOffset = 0; // Pages: 0, 1, 2, 3...
// Custom starting page number
p.SplitPartIndexOffset = 10; // Pages: 10, 11, 12...Παραδοσιακό API: Λεπτομερής έλεγχος
Για μέγιστο έλεγχο των επιλογών απόδοσης, χρησιμοποιήστε το παραδοσιακό SheetRender API:
using Aspose.Cells;
using Aspose.Cells.Rendering;
using Aspose.Cells.Drawing;
Workbook book = new Workbook("Workbook.xlsx");
Worksheet sheet = book.Worksheets[0];
ImageOrPrintOptions imgOptions = new ImageOrPrintOptions();
imgOptions.ImageType = ImageType.Png;
imgOptions.HorizontalResolution = 300;
imgOptions.VerticalResolution = 300;
imgOptions.OnlyArea = false;
SheetRender sr = new SheetRender(sheet, imgOptions);
int pageCount = sr.PageCount;
for (int idxPage = 0; idxPage < pageCount; idxPage++)
{
sr.ToImage(idxPage, "out_" + (idxPage + 1) + ".png");
}Συμβουλές και Καλές Πρακτικές
Βελτιστοποίηση Απόδοσης
• Χρησιμοποιήστε LowCode API: Εκμεταλλευτείτε ImageConverter.Process() για πιο απλές, ταχύτερες μετατροπές. • Caching: Αποθηκεύστε στην κρυφή μνήμη τα συχνά χρησιμοποιούμενα πρότυπα για επαναλαμβανόμενες μετατροπές. • Λειτουργία Ροής: Χρησιμοποιήστε streaming για μετατροπές υψηλής ανάλυσης DPI μεγάλων βιβλίων εργασίας. • Απορρίψτε Σωστά: Απορρίψτε τα αντικείμενα workbook και stream άμεσα για να ελευθερώσετε μνήμη.
Οργάνωση Αρχείων
• Δείκτης Ονομασία: Χρησιμοποιήστε LowCodeSaveOptionsProviderOfPlaceHolders για συστηματική οργάνωση αρχείων. • Συνεπείς Προθέματα: Εφαρμόστε ουσιαστικά προθέματα (π.χ., “Invoice”, “Report”) για εύκολη ταυτοποίηση. • Διαχείριση Μετατόπισης: Χρησιμοποιήστε αρίθμηση που ξεκινά από 1 (SheetIndexOffset = 1) για ονόματα αρχείων φιλικά προς το χρήστη.
Έλεγχος Ποιότητας → Έλεγχος Ποιότητας
• Επιλογή Μορφής: Επιλέξτε PNG για διαφάνεια, JPEG για μικρότερα αρχεία, TIFF για αρχειοθέτηση. • Ρυθμίσεις Ανάλυσης: Ορίστε τις κατάλληλες τιμές DPI στο ImageOrPrintOptions για εκτύπωση vs. χρήση στο web. • Επαλήθευση Γραμματοσειράς: Επαληθεύστε τη διαθεσιμότητα της γραμματοσειράς για να αποφύγετε σιωπηλές αντικαταστάσεις. • Επικύρωση Εξόδου: Πάντα ελέγξτε την ύπαρξη του αρχείου μετά τη μετατροπή χρησιμοποιώντας File.Exists().
Ανάπτυξη Παραγωγής
• Αρχικοποίηση Μία Φορά: Αρχικοποιήστε την αδειοδότηση μία φορά κατά την εκκίνηση για να αποφύγετε επαναλαμβανόμενους ελέγχους. • Ορίστε περιοχές εκτύπωσης: Ορίστε περιοχές εκτύπωσης και ρυθμίσεις σελίδας στα πρότυπα Excel για συνέπεια. • Συγκεντρωμένες παρουσίες: Χρησιμοποιήστε συγκεντρωμένες παρουσίες για απόδοση στο διακομιστή ώστε να μειώσετε το φορτίο. • Καταγραφή σφαλμάτων: Εφαρμόστε ολοκληρωμένη διαχείριση σφαλμάτων και καταγραφή για διαγνωστικούς σκοπούς.
Κοινά Προβλήματα και Λύσεις
| Ζήτημα | Ανάλυση |
|---|---|
| Το αρχείο δεν βρέθηκε | Επαληθεύστε ότι η διαδρομή του αρχείου εισόδου είναι σωστή και προσβάσιμη |
| Μη υποστηριζόμενη μορφή αρχείου | Βεβαιωθείτε ότι η μορφή αρχείου υποστηρίζεται από τον μετατροπέα |
| Η αναμενόμενη εικόνα δεν δημιουργήθηκε | Ελέγξτε τη σύνταξη του placeholder και επαληθεύστε ότι υπάρχει ο φάκελος εξόδου |
| Λανθασμένα ονόματα αρχείων | Επαληθεύστε SheetIndexOffset και SheetIndexPrefix ρυθμίσεις |
| Λείπουν σελίδες | Έλεγχος SplitPartIndexOffset και βεβαιωθείτε ότι όλες οι σελίδες αποδίδονται |
| Χαμηλή ποιότητα εικόνας | Αυξήστε το DPI/ανάλυση στο ImageOrPrintOptions |
| Οι γραμματοσειρές εμφανίζονται διαφορετικές | Εγκαταστήστε τις απαιτούμενες γραμματοσειρές στον διακομιστή ή ρυθμίστε την αντικατάσταση γραμματοσειρών |
Συχνές Ερωτήσεις
Τι είναι το Aspose.Cells Image Converter για .NET;? Ένα εξειδικευμένο εργαλείο για προγραμματιστική μετατροπή λογιστικών φύλλων Excel σε εικόνες εντός εφαρμογών .NET.
Πώς διαφέρει από το Aspose.Cells για .NET? Aspose.Cells for .NET is a full-featured API, while the Image Converter plugin is tailored for fast and accurate image conversion with streamlined APIs.
Ποιοι τύποι αρχείων υποστηρίζονται;;;? Υποστηρίζει XLS, XLSX, XLSM, XLTX, XLTM, XLSB, CSV, TSV, HTML, ODS και άλλα.
Μπορώ να προσαρμόσω τη δημιουργία εικόνας;? Ναι, χρησιμοποιώντας το ImageOrPrintOptions class για να ορίσετε τον τύπο εξόδου, την ανάλυση, τη συμπίεση και άλλα.
Πώς μπορώ να μετατρέψω πολλαπλά φύλλα σε ξεχωριστές εικόνες;? Χρησιμοποιήστε LowCodeSaveOptionsProviderOfPlaceHolders με πρότυπα placeholder για να δημιουργήσετε αυτόματα μοναδικά ονόματα αρχείων για κάθε φύλλο.
Τι σημαίνουν τα placeholders;?
${SheetIndex}: Τρέχων αριθμός φύλλου εργασίας${SheetIndexPrefix}: Προσαρμοσμένο πρόθεμα για φύλλα (π.χ., “S”, “Sheet”)${SplitPartIndex}: Αριθμός σελίδας για μεγάλα φύλλα εργασίας που χωρίζονται σε πολλαπλές εικόνες
Μπορώ να ξεκινήσω την αρίθμηση φύλλων από 1 αντί για 0;? Ναι, ορίστε SheetIndexOffset = 1 για χρήση δεικτοδότησης που ξεκινά από 1.
Σύνοψη Αναφοράς API
Κύριες Κλάσεις
ImageConverter: Στατική κλάση που παρέχει απλοποιημένες μεθόδους μετατροπήςLowCodeLoadOptions: Διαμόρφωση για τη φόρτωση αρχείων ExcelLowCodeImageSaveOptions: Διαμόρφωση για έξοδο εικόναςImageOrPrintOptions: Λεπτομερείς ρυθμίσεις απόδοσης εικόναςLowCodeSaveOptionsProviderOfPlaceHolders: Δυναμική ονομασία αρχείων με σύμβολα κράτησης θέσης
Απαραίτητα Ιδιότητες
InputFile: Διαδρομή αρχείου πηγαίου ExcelImageOptions: Επιλογές απόδοσης ειδικές για εικόναImageType: Μορφή εξόδου (PNG, JPEG, TIFF, BMP, EMF, GIF)SheetIndexOffset: Αρχικός αριθμός για την αρίθμηση φύλλωνSheetIndexPrefix: Συμβολοσειρά προθέματος για αριθμούς φύλλωνSplitPartIndexOffset: Αρχικός αριθμός για ευρετηρίαση σελίδας/διαίρεσης
Διακριτικά κράτησης θέσης
${SheetIndex}: Δείκτης φύλλου εργασίας (με εφαρμοσμένη μετατόπιση)${SheetIndexPrefix}: Προσαρμοσμένο πρόθεμα φύλλου${SplitPartIndex}: Δείκτης σελίδας/διαίρεσης (με εφαρμοσμένη μετατόπιση)