Architektura bezpečných PDF reportů: Orchard Core & .NET MAUI se Syncfusion

Jak generovat zašifrované PDF v Orchard Core a zobrazit ho v .NET MAUI?

Pro generování použijte knihovnu Syncfusion.Pdf.Net.Core v rámci Orchard Core modulu, kde nastavíte vlastnost PdfSecurity na algoritmus AES-256 a definujete UserPassword. Pro zobrazení v .NET MAUI využijte komponentu SfPdfViewer, která umožňuje načíst šifrovaný stream a automaticky nebo manuálně (přes událost PasswordRequired) dešifrovat dokument pro uživatele. Toto spojení zajišťuje vysokou bezpečnost dat v enterprise CMS řešeních.

Bezpečná distribuce PDF: Od Orchard Core po .NET MAUI

V moderních enterprise systémech je bezpečnost dat při přenosu kritická. Ukážeme si, jak využít Syncfusion Document Solutions pro šifrování na straně Orchard Core a následné nativní zobrazení v MAUI.

Proč řešit šifrování na úrovni dokumentu?

I když je transportní vrstva zajištěna pomocí HTTPS, šifrování samotného PDF (AES-256) přidává další vrstvu ochrany "at rest" a umožňuje definovat uživatelská oprávnění přímo v metadatech souboru. Syncfusion v tomto scénáři exceluje svou výkonností a nulovou závislostí na Adobe Acrobat.

1. Generování a šifrování v Orchard Core

V rámci vlastního modulu v Orchard Core můžeme využít Syncfusion.Pdf.Net.Core. Následující ukázka demonstruje vytvoření dokumentu a jeho ochranu heslem před odesláním do streamu.


// OrchardCore Controller / Web API
public IActionResult GenerateSecureReport()
{
    using (PdfDocument document = new PdfDocument())
    {
        PdfPage page = document.Pages.Add();
        page.Graphics.DrawString("Důvěrný report z OrchardCore", 
            new PdfStandardFont(PdfFontFamily.Helvetica, 20), PdfBrushes.Black, new PointF(10, 10));

        // Nastavení zabezpečení - AES 256-bit
        PdfSecurity security = document.Security;
        security.UserPassword = "user123"; // Heslo pro otevření
        security.OwnerPassword = "admin_secret";
        security.EncryptionAlgorithm = PdfEncryptionAlgorithm.AES;
        security.KeySize = PdfEncryptionKeySize.Precision256Bit;

        MemoryStream stream = new MemoryStream();
        document.Save(stream);
        return File(stream.ToArray(), "application/pdf", "SecureReport.pdf");
    }
}
    

2. Proč zvolit Syncfusion Stack?

Konzistence

Stejné API pro manipulaci s dokumenty používáte na serveru (Orchard Core) i klientovi (MAUI).

Výkon

Syncfusion PDF Viewer v MAUI používá hardware akceleraci pro plynulé vykreslování i u velkých souborů.

Compliance

Podpora standardů PDF/A a pokročilé šifrování splňující firemní bezpečnostní politiky.

3. Zobrazení v .NET MAUI

Na straně mobilní aplikace využijeme SfPdfViewer. Klíčem je správné předání streamu a případné ošetření dialogu pro heslo.


// MAUI ViewModel / Page logic
public async void LoadDocument(Stream pdfStream)
{
    // SfPdfViewer automaticky vyvolá PasswordRequired event, 
    // pokud narazí na šifrovaný dokument
    pdfViewer.LoadDocument(pdfStream);
}

private void pdfViewer_PasswordRequired(object sender, PdfPasswordRequiredEventArgs e)
{
    // Zde můžeme uživateli zobrazit nativní dialog nebo použít uložený token
    e.Password = "user123";
}
    

Architektonický tip: Při přenosu velkých PDF mezi Orchard Core a MAUI doporučuji implementovat chunked upload nebo streamování přímo do dočasného souboru, aby se předešlo MemoryExceptions na low-end mobilních zařízeních.

Vlastnost Standardní řešení Syncfusion + Orchard Core
Šifrování Často omezené / externí knihovny Nativní AES-256 v rámci PDF library
Integrace v MAUI WebView (nespolehlivé) Nativní SfPdfViewer s plnou kontrolou
Správa obsahu Statické soubory Dynamické Orchard Core Content Types

Potřebujete implementovat pokročilé reportování do vašeho Orchard Core projektu? Syncfusion komponenty vám ušetří týdny vývoje UI a dokumentové logiky.

Doporučené příspěvky