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.
Instal·lació i instal·lació
Afegeix l’assemblatge Aspose.Cells Image Converter al teu projecte .NET via NuGet o referenciant directament el DLL. Per a una guia pas a pas, consulta Instal·lació .
Abans de renderitzar cap imatge, inicialitzeu la llicència per consum tal com es descriu a Llicència basada en l’ús .
Funcionalitats i característiques clau
Conversió de full de càlcul a imatge
• Renderitza fulls de càlcul individuals com a imatges independents amb control sobre salts de pàgina, escalat i transparència. • Respecta les àrees d’impressió d’Excel, les capçaleres/peus de pàgina i els marges, garantint la fidelitat a la vista prèvia d’impressió.
Llibre de treball a TIFF multipàgina
• Exporta llibres de treball amb diverses fulles complets a un únic, multi‑pàgina TIFF contenidor. • Cada full es renderitza com un marc TIFF per a l’arxiu o el processament per lots.
Suport complet de formats d’imatge
• Admet TIFF, JPEG, PNG, BMP, EMF i GIF. • Controla la compressió (LZW, CCITT), l’entrellaçament, la transparència i les paletes per a diferents formats.
Nom de fitxer dinàmic amb marcadors de posició
• Patrons de sortida personalitzats: Genera diverses imatges amb convencions de nomenclatura intel·ligents utilitzant marcadors de posició. • Control d’índex de fulla: Personalitza la numeració de les fulles amb prefixes i valors de desplaçament. • Indexació de parts dividides: Gestiona fulls de càlcul grans dividits en diversos fitxers d’imatge amb nomenclatura seqüencial. • Organització automàtica de fitxers: Anomena sistemàticament els fitxers de sortida basant-se en les posicions del full i de la pàgina.
Opcions de Renderització i Personalització
• Ajusta finament DPI, resolució i profunditat de color. • Configura l’antialiàsing, la visibilitat de les línies de quadrícula i els emplenaments de fons. • Aplica mode clar/obscur o fons personalitzats per a superposicions i marques d’aigua.
Renderització de Gràfics i Formes
• Converteix gràfics, SmartArt, objectes OLE i formes amb alta fidelitat. • Conserva temes, estils, eixos i etiquetes de dades per a una renderització precisa dels gràfics.
Paginació, Escalat i Configuració d’Impressió
• Respecta la paginació d’Excel per a informes. • Escala per adaptar-se a l’amplada/alçada o a un nombre específic de pàgines. • Les capçaleres, peus de pàgina i números de pàgina es conserven.
Transmissió i Gestió de Memòria
• Admet la renderització per fragments i la sortida basada en flux per a llibres de treball molt grans. • Minimitza la petjada de memòria i evita problemes d’esgotament de memòria.
Text i Incrustació de Tipus de Lletra d’Alta Fidelitat
• Conserva les tipografies, l’alineació i el flux de text amb tipografies incrustades o substituïdes. • Admet RTL, cursiva i scripts asiàtics per a una compatibilitat global.
Seguretat de fils i concurrència
• Múltiples instàncies poden executar‑se en paral·lel per a entorns d’alt rendiment. • Disseny thread-safe ideal per a renderització del costat del servidor.
Gestió d’errors i diagnòstics
• Informes d’error detallats per a funcions no compatibles o fitxers corromputs. • Registra advertències per a fonts que falten o diferències de renderització.
Exemples d’ús
Conversió bàsica: Excel a imatge
La manera més senzilla de convertir un fitxer Excel a una imatge utilitzant una única línia de codi:
using Aspose.Cells.LowCode;
using Aspose.Cells;
string src = "CellsJava46030_2.xlsx";
ImageConverter.Process(src, "PluginImage.png");Això converteix el primer full de càlcul a una imatge PNG amb la configuració per defecte.
Conversió avançada amb opcions personalitzades
Configureu opcions de conversió detallades per a un control precís sobre la sortida d’imatge:
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");Desglossament de la funcionalitat: Nom de fitxer dinàmic
Utilitzeu una nomenclatura basada en marcadors de posició per organitzar automàticament les imatges de sortida des de llibres de treball amb diverses fulles:
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 1Marcadors de posició disponibles:
${SheetIndex}: L’índex del full de càlcul (0-basat per defecte, personalitzable amb desplaçament)${SheetIndexPrefix}: Prefix personalitzat per als números de full (p. ex., “S”, “Sheet”, “Tab”)${SplitPartIndex}: Índex de pàgina/divisió per a fulls de càlcul grans (0-basat per defecte, personalitzable amb desplaçament)
Exemples de sortida:
- Amb el prefix “S” i desplaçament 1:
PluginImageS1_1.png,PluginImageS2_1.png,PluginImageS2_2.png - Amb el prefix “Sheet” i desplaçament 1:
ReportSheet1_Page1.png,ReportSheet2_Page1.png - Sense prefix, basat en zero:
Output0_0.png,Output1_0.png
Casos d’ús:
- Processament per lots automatitzat amb sortida organitzada
- Informes multi‑fulla amb nomenclatura seqüencial
- Fulls de càlcul grans dividits en diversos fitxers d’imatge
- Sistemes d’arxiu que requereixen una nomenclatura de fitxers estructurada
- Galeries web amb URLs d’imatges previsibles
Desglossament de funcions: Selecció del format d’imatge
Especifiqueu el format de sortida desitjat per a les vostres imatges:
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;Desglossament de funcions: Personalització de l’índex de fulls
Controleu com es numeren els fulls en els fitxers de sortida:
// 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.pngDesglossament de funcions: Personalització de l’índex de les parts dividides
Gestioneu fulls de càlcul grans que es divideixen en diverses pàgines:
// 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 tradicional: Control granular
Per a un control màxim sobre les opcions de renderització, utilitzeu l’API tradicional SheetRender:
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");
}Consells i bones pràctiques
Optimització del rendiment
• Utilitza l’API LowCode: Aprofitar ImageConverter.Process() per a conversions més simples i ràpides. • Emmagatzematge en memòria cau: Emmagatzema a la memòria cau les plantilles d’ús freqüent per a conversions repetides. • Mode d’streaming: Utilitza l’streaming per a conversions d’alta DPI de llibres de treball grans. • Allibera correctament: Allibera els objectes de llibre de treball i de flux immediatament per alliberar memòria.
Organització de fitxers
• Nom de Marcador: Utilitza LowCodeSaveOptionsProviderOfPlaceHolders per a una organització sistemàtica d’arxius. • Prefixes consistents: Aplica prefixes significatius (p. ex., “Invoice”, “Report”) per a una identificació fàcil. • Gestió d’offset: Utilitza indexació basada en 1 (SheetIndexOffset = 1) per a noms de fitxer fàcils d’usar.
Control de qualitat
• Selecció de format: Tria PNG per a transparència, JPEG per a fitxers més petits, TIFF per a arxiu. • Configuració de resolució: Estableix valors DPI adequats a ImageOrPrintOptions per a impressió vs. ús web. • Verificació de tipografia: Verifiqueu la disponibilitat de la tipografia per evitar substitucions silencioses. • Validació de la sortida: Sempre comproveu l’existència del fitxer després de la conversió utilitzant File.Exists().
Desplegament de producció
• Inicialitza una sola vegada: Inicialitzeu la llicència una sola vegada a l’inici per evitar comprovacions repetides. • Definiu àrees d’impressió: Establiu àrees d’impressió i configuració de pàgina en les plantilles d’Excel per a la coherència. • Instàncies agrupades: Utilitzeu instàncies agrupades per al renderitzat del costat del servidor per reduir la sobrecàrrega. • Registre d’errors: Implementa una gestió d’errors i registre exhaustius per a diagnòstics.
Problemes comuns i resolucions
| Incidència | Resolució |
|---|---|
| Fitxer no trobat | Verifiqueu que el camí del fitxer d’entrada sigui correcte i accessible |
| Format de fitxer no compatible | Assegureu-vos que el format de fitxer sigui compatible amb el convertidor |
| Imatge esperada no generada | Comproveu la sintaxi del marcador de posició i verifiqueu que el directori de sortida existeixi |
| Noms de fitxer incorrectes | Verifica SheetIndexOffset i SheetIndexPrefix configuració |
| Pàgines que falten | Comprovar SplitPartIndexOffset i assegureu-vos que totes les pàgines es renderitzin |
| Qualitat d’imatge baixa | Augmenteu DPI/resolució a ImageOrPrintOptions |
| Les fonts apareixen diferents | Instal·leu les fonts necessàries al servidor o configureu la substitució de fonts |
Preguntes freqüents
Què és Aspose.Cells Image Converter per a .NET? Una eina enfocada per convertir programàticament fulls de càlcul Excel en imatges dins d’aplicacions .NET.
Com es diferencia de Aspose.Cells per a .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.
Quins formats de fitxer són compatibles? Admet XLS, XLSX, XLSM, XLTX, XLTM, XLSB, CSV, TSV, HTML, ODS i més.
Puc personalitzar la generació d’imatges? Sí, utilitzant el ImageOrPrintOptions class per definir el tipus de sortida, resolució, compressió i més.
Com puc convertir diverses fulles en imatges separades? Utilitza LowCodeSaveOptionsProviderOfPlaceHolders amb patrons de marcadors de posició per generar automàticament noms de fitxer únics per a cada fulla.
Què signifiquen els marcadors de posició?
${SheetIndex}: Número actual del full de treball${SheetIndexPrefix}: Prefix personalitzat per a fulls (p. ex., “S”, “Sheet”)${SplitPartIndex}: Número de pàgina per a fulls de treball grans dividits en diverses imatges
Puc començar la numeració dels fulls a partir de 1 en lloc de 0? Sí, estableix SheetIndexOffset = 1 per utilitzar una indexació basada en 1.
Resum de la referència de l’API
Classes clau
ImageConverter: Classe estàtica que proporciona mètodes de conversió simplificatsLowCodeLoadOptions: Configuració per carregar fitxers ExcelLowCodeImageSaveOptions: Configuració per a la sortida d’imatgesImageOrPrintOptions: Configuració detallada del renderitzat d’imatgesLowCodeSaveOptionsProviderOfPlaceHolders: Nomenclatura dinàmica d’arxius amb marcadors de posició
Propietats essencials
InputFile: Camí del fitxer Excel d’origenImageOptions: Opcions de renderització específiques d’imatgeImageType: Format de sortida (PNG, JPEG, TIFF, BMP, EMF, GIF)SheetIndexOffset: Número d’inici per a la indexació de fullsSheetIndexPrefix: Cadena de prefix per a números de fullsSplitPartIndexOffset: Número d’inici per a la indexació de pàgines/divisions
: Tokens de marcador de posició: Tokens de marcador de posició
${SheetIndex}: Índex del full de treball (amb desplaçament aplicat)${SheetIndexPrefix}: Prefix de full personalitzat${SplitPartIndex}: Índex de pàgina/divisió (amb desplaçament aplicat)