Vývojáři často potřebují sdílet nebo ukládat PDF obsah v textových formátech, jako jsou JSON, XML nebo HTML atributy. Kódování Base64 se také používá k přenosu souborů prostřednictvím API nebo jejich bezpečnému uložení v databázích. Poskytuje spolehlivý způsob, jak reprezentovat binární PDF data jako prostý text, zatímco se zachovají všechny byty pro přesnou rekonstrukci později. V této příručce se naučíte, jak převést PDF na Base64 v C# a dekódovat ho zpět na PDF soubor.

Aspose.PDF for .NET — Silný konvertor PDF na Base64 v C#

V tomto článku používáme Aspose.PDF for .NET, mocnou knihovnu pro vytváření, čtení, úpravu a konverzi PDF souborů v C#. Poskytuje úplnou kontrolu nad obsahem a strukturou PDF bez potřeby Adobe Acrobatu nebo jakýchkoliv externích nástrojů. S pomocí Aspose.PDF můžete snadno načíst existující PDF dokumenty, upravit je, aplikovat bezpečnostní nastavení a exportovat je do různých formátů, včetně textu zakódovaného v Base64.

Prosím, stáhněte si Aspose.PDF for .NET z releases.Můžete si jej také nainstalovat z NuGet pomocí následujícího příkazu:

PM> Install-Package Aspose.PDF

Převést PDF na Base64 v C#

Můžete převést PDF soubor na Base64 přímo z paměti, když potřebujete zpracovat soubor před kódováním. Tato metoda vám umožňuje otevřít PDF pomocí třídy Aspose.Pdf.Document, provést potřebné změny a poté jej uložit do MemoryStream. Nakonec můžete převést proud na řetězec Base64, který lze snadno přenášet prostřednictvím API nebo uložit do databáze.

Postupujte podle následujících kroků pro převod PDF souboru na řetězec base64 v C#:

  1. Načtěte PDF pomocí třídy Document.
  2. Uložte dokument do MemoryStream.
  3. Převeďte pole bajtů na řetězec Base64 pomocí metody Convert.ToBase64String().
  4. Use or return the Base64 string.

Následující příklad kódu ukazuje, jak převést PDF na Base64 řetězec.

using Aspose.Pdf;
using Aspose.Pdf.Text;

// 1. Načtěte PDF
using var doc = new Document("sample_pdf.pdf");

// Optionally perform edits here, e.g., optimize, redact, secure, etc.

// 2. Uložit do paměti
using var ms = new MemoryStream();
doc.Save(ms);
var bytes = ms.ToArray();

// 3. Převést na Base64
var base64 = Convert.ToBase64String(bytes);

Console.WriteLine(base64.Substring(0, Math.Min(base64.Length, 120)) + "...");

Převést konkrétní stránky PDF na Base64 v C#

Můžete převést pouze část PDF dokumentu na Base64, když potřebujete odeslat menší část dokumentu, například jednu stránku nebo několik vybraných stran. Tento přístup pomáhá snížit velikost dat při přenosu dat prostřednictvím API nebo jiných textových kanálů.

Postupujte podle níže uvedených kroků, abyste převedli konkrétní stránku PDF na řetězec Base64:

  1. Načtěte soubor PDF pomocí třídy Document.
  2. Vytvořte novou třídu Document, která bude obsahovat extrahované stránky.
  3. Zkopírujte požadované stránky do nového dokumentu.
  4. Uložte do MemoryStream a kódujte do Base64.
using System;
using System.IO;
using Aspose.Pdf;

// Otevřete zdrojový PDF z cesty k souboru
using var src = new Document("sample_pdf.pdf");

// Vytvořte nový prázdný PDF, který bude obsahovat pouze vybranou stránku/stánky.
using var sub = new Document();

// Zkopírujte požadovanou stránku do nového dokumentu
sub.Pages.Add(src.Pages[1]);

// Uložte jednostránkový PDF do paměti namísto na disk.
using var ms = new MemoryStream();
sub.Save(ms);

// Převeďte PDF bajty v paměti na Base64 řetězec.
var base64 = Convert.ToBase64String(ms.ToArray());

// Vytiskněte krátký náhled textu Base64 do konzole.
Console.WriteLine(base64.Substring(0, Math.Min(base64.Length, 120)) + "...");

Vytvořte nový PDF dokument a převedte na Base64

Můžete vytvořit nový PDF v paměti a převést jej na Base64, aniž byste se dotkli disku. To je užitečné, když generujete dokumenty na míru a potřebujete je odeslat přes API, vložit do JSON nebo HTML, nebo je uložit do databáze. V této metodě vytvoříte Aspose.Pdf.Document, přidáte obsah, uložíte jej do MemoryStream a poté převedete bajty na Base64 řetězec.

Postupujte podle níže uvedených kroků, abyste vytvořili nový dokument PDF a převedli jej na Base64:

  1. Vytvořte prázdný Dokument.
  2. Přidejte stránku a umístěte nějaký text s TextFragment.
  3. Uložte dokument do MemoryStream.
  4. Převést bajty streamu na řetězec Base64.
using System;
using System.IO;
using Aspose.Pdf;

// 1. Vytvořte nový PDF dokument v paměti
var pdf = new Document();

// 2. Přidejte stránku a nějaký vzorový obsah
var page = pdf.Pages.Add();
var header = new TextFragment("Hello from Aspose.PDF");
header.TextState.FontSize = 18;
header.TextState.FontStyle = FontStyles.Bold;
page.Paragraphs.Add(header);

var body = new TextFragment("This PDF was generated in memory and then converted to Base64.");
body.TextState.FontSize = 12;
page.Paragraphs.Add(body);

// 3. Uložit do MemoryStream
using var ms = new MemoryStream();
pdf.Save(ms);
byte[] bytes = ms.ToArray();

// 3. Převeďte na řetězec Base64
string base64 = Convert.ToBase64String(bytes);

// 5. Volitelně připravte datové URI pro prohlížeče nebo vložte do JSON
string dataUri = $"data:application/pdf;base64,{base64}";

// Output for demo purposes
Console.WriteLine("Base64 length: " + base64.Length);
Console.WriteLine("Data URI sample (truncated): " + dataUri.Substring(0, Math.Min(dataUri.Length, 80)) + "...");

Převeďte Base64 na PDF v C#

Můžete převést řetězec Base64 zpět na soubor PDF, když vaše aplikace přijme zakódovaná data od klienta nebo API. To je užitečné, když potřebujete obnovit původní dokument, uložit jej na disk nebo načíst do třídy Aspose.Pdf.Document pro další zpracování, jako je úprava, zabezpečení nebo extrakce obsahu.

Postupujte podle níže uvedených kroků pro převod řetězce Base64 do dokumentu PDF:

  1. Načtěte zakódovaný řetězec (např. ze souboru nebo API).
  2. Convert the string into raw PDF bytes.
  3. Vytvořte PDF dokument pomocí objektu třídy Document s dekódovanými bajty.
  4. Uložte dokument PDF.

Následující kódový příklad ukazuje, jak převést Base64 řetězec zpět na PDF dokument pomocí C#:

using System;
using System.IO;
using Aspose.Pdf;

// Čtěte Base64 text z souboru a odstraňte nadbytečné mezery nebo nové řádky.
using System;
using System.IO;
using Aspose.Pdf;

// Read the text file
string base64 = File.ReadAllText("sample-base64.txt").Trim();

// Optional: handle data URI input like "data:application/pdf;base64,AAAA..."
// Detekujte a odstraňte předponu, aby zůstala pouze surová Base64.
const string prefix = "data:application/pdf;base64,";
if (base64.StartsWith(prefix, StringComparison.OrdinalIgnoreCase))
    base64 = base64.Substring(prefix.Length);

// Dekódujte řetězec Base64 do pole bajtů.
byte[] pdfBytes = Convert.FromBase64String(base64);

// Ověřte načtením bytů do Aspose.PDF; to vyvolá chybu, pokud byty nejsou platným PDF.
using var doc = new Document(new MemoryStream(pdfBytes));

// Persistujte obnovený PDF na disk
doc.Save("output.pdf");

Získejte zdarma licenci

Můžete prozkoumat všechny funkce Aspose.PDF for .NET bez jakýchkoli omezení tím, že si požádáte o bezplatnou dočasnou licenci. Navštivte dočasnou licenci stránku a získejte svou a zažijte plnou sílu API.

Převeďte PDF na Base64 online zdarma

Pokud potřebujete okamžitě převést PDF soubor na Base64 bez psaní jakéhokoli kódu, vyzkoušejte tento free online PDF to Base64 converter.Tento nástroj založený na prohlížeči vám umožní nahrát PDF a získat jeho text kódovaný v Base64 během několika sekund. Není vyžadována žádná instalace, registrace ani další knihovny. Všechno probíhá bezpečně ve vašem webovém prohlížeči.

Image

PDF File to Base64 String: Další zdroje

Chcete-li se dozvědět více o práci s PDF soubory a kódováním Base64 pomocí Aspose.PDF for .NET, prozkoumejte následující užitečné příručky a nástroje:

  • Zjistěte více o podporovaných formátech souborů, pokročilých funkcích manipulace s PDF a podrobných příkladech použití API pomocí Aspose.PDF for .NET Documentation.
  • Zkontrolujte kompletní knihovnu tříd, metody a vlastnosti pro vývojáře pracující s vytvářením, konverzí a kódováním PDF pomocí Aspose.PDF API Reference.
  • Zkuste převodníky PDF založené na prohlížeči, sloučení, kompresory a prohlížeče pomocí Aspose PDF Apps.
  • Prozkoumejte praktické příklady, návody a podrobné programovací příručky na Aspose.PDF Blog.

PDF to Base64: Často kladené otázky

  1. Co je Base64 kódování a proč se používá u PDF souborů?

Kódování Base64 převádí binární data, jako je soubor PDF, na čitelný text. Často se používá k přenosu souborů prostřednictvím textových systémů, jako jsou JSON, XML nebo API, bez poškození dat.

  1. Mohu převést pouze konkrétní stránku PDF na Base64?

Ano. Aspose.PDF for .NET vám umožňuje extrahovat libovolnou stránku nebo rozsah stránek a převést pouze tuto část na Base64, aby se snížila velikost souboru a doba přenosu.

  1. Jak dekóduji řetězec Base64 zpět na soubor PDF v C#?

Můžete použít metodu Convert.FromBase64String(), abyste získali pole bajtů, a poté je načíst do třídy Aspose.Pdf.Document nebo je přímo uložit na disk jako soubor .pdf.

  1. Je zde nějaký limit velikosti při převodu velkých PDF do Base64?

Není zde žádný pevný limit od Aspose.PDF, ale velké soubory vyžadují dostatečnou paměť. Použití proudů místo načítání celého souboru do paměti pomáhá zlepšit výkon.

  1. Mohu tento způsob použít k odeslání PDF prostřednictvím API nebo webové služby?

Ano. Base64 řetězce jsou ideální pro vložení PDF dat do JSON nebo XML datových struktur při přenosu souborů prostřednictvím API nebo webových aplikací.

  1. Ovlivňuje kódování Base64 kvalitu nebo obsah PDF?

Ne. Kódování Base64 pouze mění způsob, jakým jsou data reprezentována. Dekódovaný soubor bude identický s původním PDF bez ztráty kvality nebo informací.

  1. Jak mohu převést více PDF souborů na Base64 najednou?

Můžete projít každým souborem, načíst jej pomocí Aspose.Pdf.Document a každý převést na Base64 jednotlivě. To funguje dobře pro dávkové zpracování.

  1. Mohu vygenerovat nový PDF a přímo ho převést na Base64, aniž bych ho ukládal na disk?

Ano. Můžete vytvořit nový Document v paměti, přidat obsah, uložit ho do MemoryStream a poté ho zakódovat do Base64, není potřeba vytvářet fyzický soubor.

Závěr

V tomto článku jste se naučili, jak převést soubor PDF na řetězec Base64 a dekódovat ho zpět do PDF v C# pomocí Aspose.PDF for .NET. Tato knihovna nabízí spolehlivé a bohaté API pro práci s dokumenty PDF, což usnadňuje implementaci kódování a dekódování Base64 v jakékoli aplikaci .NET.

Pokud máte nějaké dotazy nebo potřebujete pomoc, navštivte naše bezplatné podpůrné fórum, náš tým je vždy k dispozici, aby pomohl.

See Also