Aspose.Cells PDF Converter pro .NET
Aspose.Cells PDF Konvertor pro .NET poskytuje vyhrazené, vysoce výkonné řešení pro převod tabulek Excel (XLS, XLSX, XLTM, XLSM) do univerzálně přístupných PDF souborů při zachování věrnosti rozvržení a konzistence formátu. Díky zjednodušeným API zajišťuje přesné vykreslení, pokročilé možnosti přizpůsobení a plynulou integraci do aplikací .NET.
Instalace a nastavení
Podporuje LowCode API všechny funkce? LowCode API poskytuje nejčastěji používané funkce. Pro pokročilé scénáře (digitální podpisy, vlastní zabezpečení) použijte tradiční API Workbook.:
- Nainstalujte
Aspose.CellsNuGet balíček (viz Instalace ). - Použijte měřené licencování před použitím API (viz Metered Licensing ).
Funkce a vlastnosti
Komplexní podpora formátů
PdfSaveOptions: Podrobné nastavení konverze PDF.OutputFile: Cílová cesta PDF souboru (výstup založený na souboru).OutputStream: Cílový stream pro výstup PDF (výstup založený na streamu).
PdfOptions: Specifické možnosti renderování PDF
OnePagePerSheet: Vynutit, aby každý list byl na jedné stránce PDF.Compliance: standard souladu PDF (PDF/A, PDF/X).OptimizationType: Vyvážení mezi velikostí souboru a kvalitou.
Společné výčty
PdfCompliance: Žádný, Pdf15, PdfA1b, PdfA2u, PdfX1a.PdfOptimizationType: Standardní, MinimálníVelikost.PrintingPageType: Výchozí, IgnorovatTiskovouOblast, IgnorovatStyl.
Aspose.Cells Spreadsheet Locker pro .NET umožňuje vývojářům programově zamknout sešity Excel a chránit listy, oblasti a celkovou strukturu dokumentu pomocí uživatelem definovaných hesel a podrobných nastavení oprávnění. Ať už chcete zabránit neoprávněným úpravám, vynutit šifrování na úrovni sešitu nebo omezit přístup k určitým oblastem listu, tento plugin poskytuje zjednodušenou ochranu pro soubory XLS, XLSX, XLTM a XLSM.
- One Page Per Sheet: Vynutit každý list na jednu PDF stránku bez ohledu na velikost obsahu.
- Vlastní zalomení stránky: Respektovat nebo přepsat vestavěná nastavení zalomení stránky v Excelu.
- Možnosti přizpůsobení stránce: Škálovat listy tak, aby odpovídaly konkrétním rozměrům stránky.
- Zpracování více stránek: Ovládat, jak se velké listy rozdělují na více stránek PDF.
Podpora paměťových streamů: Zamkněte soubory přímo v paměti bez I/O na disku.
- Žádný přístup k souborovému systému: Kompletní workflow ochrany pomocí streamů.
- Webová integrace: Zpracujte nahrané soubory a okamžitě vraťte chráněné verze.
- Validace v paměti: Ověřte ochranu heslem okamžitě po aplikaci.
- Ověřování a validace hesla.
Vestavěné testování hesla: Ověřte, že ochrana byla aplikována správně.
- Výstup do souboru: Uložit přímo na disk s automatickým vytvořením adresáře.
- Výstup založený na streamu: Zapisovat do paměťových streamů pro zpracování v paměti.
- Síťové streamy: Výstup přímo do síťových umístění nebo cloudového úložiště.
Šifrování a bezpečnost
- Chraňte dokumenty pomocí AES šifrování (40–256 bitů).
- Restrict editing at the sheet level with options such as: → Omezte úpravy na úrovni listu pomocí možností, jako jsou:.
- Locking cell contents → Uzamčení obsahu buněk.
Kontingenční tabulky
- Preventing row or column insertions/deletions → Zabránění vkládání/odstraňování řádků nebo sloupců.
- Disabling sorting, filtering, or pivot table edits → Zakázání řazení, filtrování nebo úprav kontingenčních tabulek.
- Ochrana na úrovni rozsahu.
Ovládejte, jak jsou listy číslovány ve výstupních souborech:
- Definujte editovatelné rozsahy a zároveň udržujte vzorce nebo citlivá data uzamčená. Přiřaďte pro každý rozsah odlišná hesla, abyste poskytli omezený přístup konkrétním uživatelským skupinám.
- Ochrana struktury a oken.
- Zabránit změnám v celém sešitu, jako je přidávání, přejmenovávání nebo mazání listů. Uzamkněte nastavení okna, například zmrazené oblasti nebo úroveň přiblížení, aby byl uživatelský pohled konzistentní.
Příklady použití
Šifrovací algoritmy a síla
Vyberte mezi AES-256 pro vysokou bezpečnost nebo starším RC4 pro kompatibilitu. Výběr algoritmu je zpřístupněn prostřednictvím jednoduchých nastavení API.:
using Aspose.Cells.LowCode;
string src = "mytemplate.xlsx";
PdfConverter.Process(src, "result\\PluginPdf1.pdf");Výjimky ochrany a oprávnění.
• Placeholder Naming: Použijte LowCodeSaveOptionsProviderOfPlaceHolders pro systematickou organizaci souborů. • Consistent Prefixes: Používejte smysluplné předpony (např. “Invoice”, “Report”) pro snadnou identifikaci. • Offset Management: Používejte indexování od jedné (SheetIndexOffset = 1) pro uživatelsky přívětivé názvy souborů.
Doladěte oprávnění povolením určitých akcí (např. formátování buněk nebo řazení), zatímco ostatní funkce zůstanou uzamčeny.:
using Aspose.Cells.LowCode;
using Aspose.Cells;
string src = "template.xlsx";
// Configure load options
LowCodeLoadOptions lclopts = new LowCodeLoadOptions();
lclopts.InputFile = src;
// Configure PDF save options
LowCodePdfSaveOptions lcsopts = new LowCodePdfSaveOptions();
PdfSaveOptions pdfOpts = new PdfSaveOptions();
// Force each worksheet to fit on a single PDF page
pdfOpts.OnePagePerSheet = true;
lcsopts.PdfOptions = pdfOpts;
lcsopts.OutputFile = "PluginPdf2.pdf";
// Perform conversion
PdfConverter.Process(lclopts, lcsopts);Správa uzamčení a odstraňování
Odemkněte listy, rozsahy nebo celý sešit programově pomocí správného hesla. API odráží proces uzamčení a stav ochrany lze během běhu dotazovat.:
PdfSaveOptions pdfOpts = new PdfSaveOptions();
// Each worksheet fits on exactly one PDF page (scaling applied if needed)
pdfOpts.OnePagePerSheet = true;
// Default behavior: respect Excel's page breaks (may create multiple pages per sheet)
pdfOpts.OnePagePerSheet = false;Co je Aspose.Cells Image Converter pro .NET? Zaměřený nástroj pro programatickou konverzi tabulek Excel na obrázky v aplikacích .NET.:
- Exporty dashboardů: Zajistěte, aby každý dashboard byl na jedné stránce pro prezentace
- Souhrnné zprávy: Udržujte přehledové listy kompaktní a čitelné
- Generování miniatur: Vytvořte jednostránkové náhledy pracovních listů
- Dokumenty připravené k tisku: Zjednodušte tisk tím, že se vyhnete rozdělení na více stránek
- Výkonné souhrny: Prezentujte data na vysoké úrovni na jedné stránce
Metoda SpreadsheetLocker.Process() přijímá čtyři parametry:
Without OnePagePerSheet:
- Large worksheet → Multiple PDF pages (respects page breaks)
- Sheet1: Pages 1-3, Sheet2: Pages 4-6
With OnePagePerSheet = true:
- Large worksheet → Scaled to fit single PDF page
- Sheet1: Page 1, Sheet2: Page 2Podrobnosti parametrů:
Možnosti načtení: Nastavuje umístění vstupního souboru a chování načítání:
// File-based output (simplest)
lcsopts.OutputFile = "result\\PluginPdf2.pdf";
// Stream-based output (for in-memory processing)
MemoryStream ms = new MemoryStream();
lcsopts.OutputStream = ms;
// Network stream output (for cloud storage)
using (FileStream networkStream = new FileStream(@"\\server\share\output.pdf", FileMode.Create))
{
lcsopts.OutputStream = networkStream;
PdfConverter.Process(lclopts, lcsopts);
}Možnosti uložení: Nastavuje výstupní formát, cíl (soubor nebo proud):
- Heslo ochrany: Heslo požadované k otevření sešitu
- Heslo pro odemknutí: Heslo pro odstranění existující ochrany (použijte
null, pokud není potřeba) - Přehled funkcí: Ověření hesla
- Ověřte, že ochrana byla úspěšně aplikována:
Rozpis funkce: Správa pozice proudu:
- Při práci s proudy je správné umístění kritické:
- Nejlepší postupy pro pozici streamu:
- Vždy
Seek(0, SeekOrigin.Begin)před čtením ze streamu, do kterého jste právě zapisovali - Resetujte pozici mezi více čtecími operacemi
Před a po:
Používejte SeekOrigin.Begin (ne Current ani End) pro konzistenci:
// Traditional API (verbose, more control)
Workbook workbook = new Workbook("Book1.xlsx");
PdfSaveOptions saveOptions = new PdfSaveOptions();
saveOptions.OnePagePerSheet = true;
workbook.Save("output.pdf", saveOptions);
// LowCode API (concise, optimized)
LowCodeLoadOptions loadOpts = new LowCodeLoadOptions();
loadOpts.InputFile = "Book1.xlsx";
LowCodePdfSaveOptions saveOpts = new LowCodePdfSaveOptions();
PdfSaveOptions pdfOpts = new PdfSaveOptions();
pdfOpts.OnePagePerSheet = true;
saveOpts.PdfOptions = pdfOpts;
saveOpts.OutputFile = "output.pdf";
PdfConverter.Process(loadOpts, saveOpts);Zvolte výstupní metodu, která nejlépe vyhovuje vašemu scénáři:
- Rozpis funkcí: Zpracování výjimek pro ochranu
- Automatické vytváření adresářů
- Zpracovávejte různé scénáře chyb při práci s chráněnými soubory:
- Tradiční API: Jemná kontrola ochrany
Pro podrobné scénáře ochrany použijte tradiční Workbook API:
Chraňte nahrané soubory Excel v aplikaci ASP.NET Core:
PdfSaveOptions pdfOpts = new PdfSaveOptions();
// Single page per sheet with scaling
pdfOpts.OnePagePerSheet = true;
// Control all pages in workbook
pdfOpts.AllColumnsInOnePagePerSheet = true; // Fit all columns on one page
// Set page orientation
pdfOpts.PageCount = 1; // Limit number of pages
// Custom scaling
pdfOpts.PrintingPageType = PrintingPageType.IgnorePrintArea;Dávková ochrana s validací
Chraňte více souborů a ověřte každý z nich:
PdfSaveOptions pdfOpts = new PdfSaveOptions();
// Export only first worksheet
pdfOpts.PageIndex = 0;
pdfOpts.PageCount = 1;
// Or use SheetSet for multiple specific sheets
// (Note: SheetSet is available in traditional API)Odstraňování ochrany
Odemkněte chráněné sešity programově:
using Aspose.Cells;
// Load an Excel file
Workbook workbook = new Workbook("sample.xlsx");
// Configure detailed PDF options
PdfSaveOptions saveOptions = new PdfSaveOptions();
saveOptions.OnePagePerSheet = true;
saveOptions.Compliance = PdfCompliance.PdfA1b;
saveOptions.EmbedStandardWindowsFonts = true;
saveOptions.OptimizationType = PdfOptimizationType.MinimumSize;
saveOptions.CalculateFormula = true;
// Add metadata
saveOptions.CreatedTime = DateTime.Now;
saveOptions.Producer = "My Application v1.0";
// Save it as PDF
workbook.Save("output.pdf", saveOptions);Není vyžadován diskový I/O
Nejlepší postupy zabezpečení:
[HttpPost("convert-to-pdf")]
public IActionResult ConvertToPdf(IFormFile file)
{
try
{
// Save uploaded file temporarily
string tempPath = Path.GetTempFileName();
using (var stream = new FileStream(tempPath, FileMode.Create))
{
file.CopyTo(stream);
}
// Configure conversion
LowCodeLoadOptions loadOpts = new LowCodeLoadOptions();
loadOpts.InputFile = tempPath;
LowCodePdfSaveOptions saveOpts = new LowCodePdfSaveOptions();
PdfSaveOptions pdfOpts = new PdfSaveOptions();
pdfOpts.OnePagePerSheet = true; // Optimize for web viewing
saveOpts.PdfOptions = pdfOpts;
MemoryStream ms = new MemoryStream();
saveOpts.OutputStream = ms;
PdfConverter.Process(loadOpts, saveOpts);
// Clean up
File.Delete(tempPath);
// Return PDF
return File(ms.ToArray(), "application/pdf", "converted.pdf");
}
catch (Exception ex)
{
return StatusCode(500, $"Conversion error: {ex.Message}");
}
}Silná hesla: Používejte dlouhá, složitá hesla s AES-256 pro citlivé soubory.
Rotace hesel: Pravidelně měňte hesla v souladu se zásadami zabezpečení.:
var conversions = new[]
{
new { File = "sample.xlsx", OnePagePerSheet = true },
new { File = "example.xlsx", OnePagePerSheet = false },
new { File = "Workbook.xlsx", OnePagePerSheet = true }
};
foreach (var conv in conversions)
{
LowCodeLoadOptions loadOpts = new LowCodeLoadOptions();
loadOpts.InputFile = conv.File;
LowCodePdfSaveOptions saveOpts = new LowCodePdfSaveOptions();
PdfSaveOptions pdfOpts = new PdfSaveOptions();
pdfOpts.OnePagePerSheet = conv.OnePagePerSheet;
saveOpts.PdfOptions = pdfOpts;
saveOpts.OutputFile = Path.ChangeExtension(conv.File, ".pdf");
PdfConverter.Process(loadOpts, saveOpts);
Console.WriteLine($"✓ Converted: {conv.File}");
}${SheetIndex}: Index listu (s aplikovaným posunem)
Validace: Vždy ověřte, že byla ochrana aplikována pomocí FileFormatUtil.VerifyPassword() nebo testování výjimek.
- Definujte tiskové oblasti: Nastavte tiskové oblasti a nastavení stránky ve zdrojových souborech Excel před konverzí pro konzistentní výsledky.
- Použijte OnePagePerSheet: Povolit pro dashboardy, souhrny a prezentační materiály, aby byl výstup kompaktní.
- Testovat zalomení stránek: Náhled rozvržení tisku v Excelu, abyste pochopili, jak se obsah v PDF bude zobrazovat.
Optimalizace výkonu
- Použít LowCode API: Využít
PdfConverter.Process()pro optimalizované využití paměti a rychlejší provádění. - Nastavení poolu: Pro konverze s vysokým objemem, znovu použijte
PdfSaveOptionsobjekty ke snížení režie. - Profil paměti: Sledujte využití paměti u velmi velkých sešitů; v případě potřeby zvažte rozdělení exportů.
Aspose.Cells JSON Converter pro .NET poskytuje plynulou, vysoce výkonnou konverzi mezi sešity Microsoft Excel (XLS, XLSX, XLSM) a datovými strukturami JSON. Ať už potřebujete serializovat obsah listů do JSON pro webové aplikace nebo rekonstruovat soubory Excel z JSON payloadů, tento plugin zajišťuje přesnost, validaci schématu a efektivní výkon.
- Vkládání fontů: Použijte
PdfSaveOptions.EmbedStandardWindowsFontsaby bylo zajištěno konzistentní vykreslování napříč platformami. - Standardy souladu: Nastavit
Compliancevlastnost pro archivaci (PDF/A) nebo tisk (PDF/X) požadavky. - Komprese: Použít
OptimizationTypek vyvážení velikosti souboru a kvality.
Format Preservation: Znovu aplikujte ochranu po konverzích formátu, aby byla zachována integrita šifrování.
- Zlikvidovat správně: Uvolněte objekty workbook a stream co nejdříve, aby se uvolnily prostředky.
- Soubor vs Stream: Používejte výstup založený na souborech pro dávkové úlohy, streams pro webová API.
- Dočasné soubory: Vyčistit dočasné soubory po zpracování ve webových aplikacích.
Format Coverage
- Zpracování chyb: Zabalte konverze do bloků try-catch pro robustní správu chyb.
- Logování: Zaznamenávejte metriky konverze (velikost souboru, počet stránek, doba) pro monitorování.
- Sledování využití: Monitorujte využití tokenů licencí s měřením pro řízení nákladů.
- Validace výstupu: Ověřte velikost souboru PDF a počet stránek po konverzi.
Retains formulas, styles, merged regions, and workbook metadata.
| Problém | Řešení |
|---|---|
| Soubor nebyl nalezen | Ověřte cesty k souborům a zajistěte správné escapování zpětných lomítek ve Windows cestách |
| Nepodporovaný formát | Ujistěte se, že vstupní soubor je jedním z podporovaných typů (XLS, XLSX, XLSM, atd.) |
| Výkon při práci s velkými soubory | Povolit streamování, použijte OnePagePerSheet = false pro velmi velké listy |
| Obsah oříznut pomocí OnePagePerSheet | Obsah je přizpůsoben tak, aby se vešel; zkontrolujte původní nastavení stránky v Excelu a náhled tisku |
| Rozmazaný text v PDF | Zvýšit DesiredPPI v PdfSaveOptions nebo zakázat OnePagePerSheet |
| Chybějící písma | Vložit písma pomocí EmbedStandardWindowsFonts = true nebo nainstalovat písma na server |
| Výstupní soubor je uzamčen | Zajistěte, aby byly všechny proudy po konverzi řádně uvolněny. |
| Přetečení paměti | Zpracovávejte velké soubory po částech nebo zakázat OnePagePerSheet pro lepší stránkování |
Často kladené otázky
Co je Aspose.Cells PDF Converter pro .NET? Specializovaný nástroj pro převod tabulek Excel a OpenOffice do PDF s vysokou věrností a přesnou kontrolou stránkování.
Jak se liší od Aspose.Cells pro .NET? Aspose.Cells for .NET supports a broad range of spreadsheet manipulation tasks, while the PDF Converter focuses specifically on accurate PDF export with streamlined APIs.
Mohu přizpůsobit výstup PDF? Ano, pomocí PdfSaveOptions můžete řídit dodržování, kompresi, bezpečnost, vkládání fontů a chování stránkování.
Jaké formáty jsou podporovány pro konverzi? XLS, XLSX, XLSM, XLTX, XLTM, XLSB, CSV, TSV, ODS, HTML, XML, JSON, a další.
Co dělá OnePagePerSheet? Vynutí, aby každý list přesně zapadl na jednu stránku PDF pomocí automatického škálování, ideální pro dashboardy a souhrnné zprávy.
Kdy bych měl použít OnePagePerSheet? Použijte jej pro dashboardy, výkonné souhrny nebo jakýkoli obsah, který má zůstat na jedné stránce. Vyhněte se mu u podrobných zpráv s velkými datovými tabulkami.
Mohu výstup směrovat do paměti místo souborů? Ano! Použijte OutputStream property s MemoryStream pro kompletní zpracování v paměti.
Jak si mám vybrat mezi výstupem založeným na souboru a výstupem založeným na proudu? Použijte OutputFile pro dávkové zpracování a workflow založené na disku. Použijte OutputStream pro webová API, cloudové úložiště nebo operace v paměti.
Podporuje LowCode API všechny funkce? LowCode API poskytuje nejčastěji používané funkce. Pro pokročilé scénáře (digitální podpisy, vlastní zabezpečení) použijte tradiční Workbook API.
Vlastní mapování JSON schématu
Mapovat rozsahy na pole JSON nebo objekty.
PdfConverter: Statická třída poskytující zjednodušené konverzní metodyLowCodeLoadOptions: Konfigurace pro načítání souborů ExcelLowCodePdfSaveOptions: Konfigurace pro výstup PDFPdfSaveOptions: Podrobné nastavení konverze PDF
Webová integrace: Vypisujte JSON přímo do HTTP odpovědních streamů ve webových aplikacích.
InputFile: Cesta ke zdrojovému souboru ExcelOutputFile: Cesta k cílovému souboru PDF (výstup založený na souboru)OutputStream: Cílový stream pro výstup PDF (výstup založený na streamu)PdfOptions: Možnosti vykreslování specifické pro PDFOnePagePerSheet: Vynutit, aby každý list byl na jedné stránce PDFCompliance: Standard souladu PDF (PDF/A, PDF/X)OptimizationType: Vyvážení mezi velikostí souboru a kvalitou
SaveFormat: Výstupní formát souboru
PdfCompliance: Žádný, Pdf15, PdfA1b, PdfA2u, PdfX1aPdfOptimizationType: Standard, MinimumSizePrintingPageType: Výchozí, IgnorePrintArea, IgnoreStyle