Разработчики часто нуждаются в обмене или хранении PDF содержимого в текстовых форматах, таких как JSON, XML или HTML атрибутах. Кодирование Base64 также используется для передачи файлов через API или их безопасного сохранения в базах данных. Это обеспечивает надежный способ представления двоичных данных PDF в виде простого текста, сохраняя каждый байт для точного восстановления позже. В этом руководстве вы узнаете, как конвертировать PDF в Base64 на C# и декодировать его обратно в файл PDF.

Aspose.PDF for .NET — мощный конвертер PDF в Base64 на C#

В этой статье мы используем Aspose.PDF for .NET, мощную библиотеку для создания, чтения, редактирования и конвертации PDF-файлов на C#. Она предоставляет полный контроль над содержимым и структурой PDF без необходимости в Adobe Acrobat или каких-либо внешних инструментах. С помощью Aspose.PDF вы можете легко загружать существующие PDF-документы, изменять их, применять настройки безопасности и экспортировать их в различные форматы, включая текст в кодировке Base64.

Пожалуйста, загрузите Aspose.PDF for .NET с releases.Вы также можете установить его из NuGet с помощью следующей команды:

PM> Install-Package Aspose.PDF

Преобразование PDF в Base64 в C#

Вы можете напрямую конвертировать PDF-файл в Base64 из памяти, когда вам необходимо обработать файл перед кодированием. Этот метод позволяет открыть PDF с помощью класса Aspose.Pdf.Document, внести изменения, а затем сохранить его в MemoryStream. Наконец, вы можете преобразовать поток в строку Base64, которая может быть легко передана через API или сохранена в базе данных.

Следуйте шагам ниже, чтобы конвертировать файл PDF в строку base64 на C#:

  1. Загрузите PDF с помощью класса Document.
  2. Сохраните документ в MemoryStream.
  3. Преобразуйте массив байтов в строку Base64 с помощью метода Convert.ToBase64String().
  4. Use or return the Base64 string.

Следующий пример кода показывает, как преобразовать PDF в строку Base64.

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

// 1. Загрузите PDF
using var doc = new Document("sample_pdf.pdf");

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

// 2. Сохранить в память
using var ms = new MemoryStream();
doc.Save(ms);
var bytes = ms.ToArray();

// 3. Преобразовать в Base64
var base64 = Convert.ToBase64String(bytes);

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

Конвертировать конкретные страницы PDF в Base64 на C#

Вы можете конвертировать только часть PDF-документа в Base64, когда вам нужно отправить меньшую часть документа, такую как одна страница или несколько выбранных страниц. Этот подход помогает уменьшить размер полезной нагрузки при передаче данных через API или другие текстовые каналы.

Следуйте следующим шагам, чтобы преобразовать определенную страницу PDF в строку Base64:

  1. Загрузите PDF-файл, используя класс Document.
  2. Создайте новый объект класса Document, чтобы хранить извлеченные страницы.
  3. Скопируйте необходимые страницы в новый документ.
  4. Сохраните в MemoryStream и закодируйте в Base64.
using System;
using System.IO;
using Aspose.Pdf;

// Откройте исходный PDF-файл по пути к файлу
using var src = new Document("sample_pdf.pdf");

// Создайте новый пустой PDF, который будет содержать только выбранные страницы.
using var sub = new Document();

// Скопируйте запрашиваемую страницу в новый документ.
sub.Pages.Add(src.Pages[1]);

// Сохраните одностраничный PDF в оперативной памяти вместо диска
using var ms = new MemoryStream();
sub.Save(ms);

// Преобразуйте PDF-байты в памяти в строку Base64
var base64 = Convert.ToBase64String(ms.ToArray());

// Выведите короткий предварительный просмотр текста Base64 в консоль
Console.WriteLine(base64.Substring(0, Math.Min(base64.Length, 120)) + "...");

Создайте новый PDF-документ и преобразуйте в Base64

Вы можете создать новый PDF в памяти и конвертировать его в Base64, не касаясь диска. Это полезно, когда вы генерируете документы на лету и нужно отправить их через API, встроить в JSON или HTML, или сохранить в базе данных. В этом методе вы создаете Aspose.Pdf.Document, добавляете содержимое, сохраняете его в MemoryStream, а затем преобразуете байты в строку Base64.

Следуйте шагам ниже, чтобы создать новый PDF-документ и преобразовать его в Base64:

  1. Создайте пустой Document.
  2. Добавьте страницу и разместите некоторый текст с TextFragment.
  3. Сохраните документ в MemoryStream.
  4. Преобразуйте байты потока в строку Base64.
using System;
using System.IO;
using Aspose.Pdf;

// 1. Создайте новый PDF документ в памяти
var pdf = new Document();

// 2. Добавьте страницу и немного образца содержания
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. Сохранить в MemoryStream
using var ms = new MemoryStream();
pdf.Save(ms);
byte[] bytes = ms.ToArray();

// 3. Преобразовать в строку Base64
string base64 = Convert.ToBase64String(bytes);

// 5. При желании подготовьте URI данных для браузеров или встроите в 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)) + "...");

Конвертировать Base64 в PDF на C#

Вы можете преобразовать строку Base64 обратно в файл PDF, когда ваше приложение получает закодированные данные от клиента или API. Это полезно, когда вам нужно восстановить оригинальный документ, сохранить его на диске или загрузить в класс Aspose.Pdf.Document для дальнейшей обработки, такой как редактирование, защита или извлечение содержимого.

Следуйте шагам ниже, чтобы преобразовать строку Base64 в документ PDF:

  1. Загрузите закодированную строку (например, из файла или API).
  2. Преведите строку в сырые байты PDF.
  3. Создайте PDF-документ, используя объект класса Document с декодированными байтами.
  4. Сохраните PDF документ.

Следующий пример кода показывает, как преобразовать строку Base64 обратно в документ PDF с использованием C#:

// Прочитайте текст Base64 из файла и удалите лишние пробелы или новые строки
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..."
// Обнаружьте и удалите префикс, чтобы осталась только сырая Base64.
const string prefix = "data:application/pdf;base64,";
if (base64.StartsWith(prefix, StringComparison.OrdinalIgnoreCase))
    base64 = base64.Substring(prefix.Length);

// Декодируйте строку Base64 в массив байтов
byte[] pdfBytes = Convert.FromBase64String(base64);

// Проверьте, загрузив байты в Aspose.PDF; это вызывает ошибку, если байты не являются допустимым PDF.
using var doc = new Document(new MemoryStream(pdfBytes));

// Сохраните восстановленный PDF на диск
doc.Save("output.pdf");

Получите бесплатную лицензию

Вы можете исследовать все возможности Aspose.PDF for .NET без каких-либо ограничений, подав заявку на бесплатную временную лицензию. Посетите страницу временной лицензии, чтобы получить свою и испытать всю мощь API.

Преобразуйте PDF в Base64 онлайн бесплатно

Если вам нужно мгновенно преобразовать PDF файл в Base64 без написания какого-либо кода, попробуйте этот бесплатный онлайн конвертер PDF в Base64.Этот инструмент, работающий в браузере, позволяет вам загрузить PDF и получить его текст в кодировке Base64 за считанные секунды. Никакая установка, регистрация или дополнительные библиотеки не требуются. Всё работает безопасно в вашем веб-браузере.

Image

PDF File to Base64 String: Дополнительные ресурсы

Чтобы узнать больше о работе с PDF-файлами и кодировкой Base64 с использованием Aspose.PDF for .NET, ознакомьтесь с следующими полезными руководствами и инструментами:

  • Узнайте о поддерживаемых форматах файлов, расширенных функциях манипуляции с PDF и подробных примерах использования API, используя Aspose.PDF for .NET Documentation.
  • Обзор полной библиотеки классов, методов и свойств для разработчиков, работающих с созданием, конвертацией и кодированием PDF с использованием Aspose.PDF API Reference.
  • Попробуйте браузерные конвертеры PDF, объединители, компрессоры и просмотрщики с помощью Aspose PDF Apps.
  • Изучите практические примеры, статьи с пошаговыми инструкциями и подробные руководства по программированию на Aspose.PDF Blog.

PDF в Base64: Часто задаваемые вопросы

  1. Что такое кодировка Base64 и почему она используется с файлами PDF?

Кодирование Base64 преобразует бинарные данные, такие как PDF-файл, в простой текст. Оно часто используется для передачи файлов через текстовые системы, такие как JSON, XML или API, без повреждения данных.

  1. Могу я конвертировать только конкретную страницу PDF в Base64?

Да. Aspose.PDF for .NET позволяет извлекать любую страницу или диапазон страниц и преобразовывать только эту часть в Base64, чтобы уменьшить размер файла и время передачи.

  1. Как я могу декодировать строку Base64 обратно в файл PDF на C#?

Вы можете использовать метод Convert.FromBase64String(), чтобы получить массив байтов, а затем загрузить его в класс Aspose.Pdf.Document или сохранить непосредственно на диск в виде файла .pdf.

  1. Есть ли ограничение по размеру при конвертации больших PDF в Base64?

В Aspose.PDF нет фиксированного ограничения, но большие файлы требуют достаточного объема памяти. Использование потоков вместо загрузки всего файла в память помогает улучшить производительность.

  1. Могу ли я использовать этот метод для отправки PDF через API или веб-сервис?

Да. Строки Base64 идеально подходят для встраивания PDF-данных в JSON или XML нагрузки при передаче файлов через API или веб-приложения.

  1. Влияет ли кодирование Base64 на качество или содержание PDF?

Нет. Кодирование Base64 изменяет только способ представления данных. Декодированный файл будет идентичен оригинальному PDF без потери качества или информации.

  1. Как мне конвертировать несколько PDF файлов в Base64 за один раз?

Вы можете пройтись по каждому файлу, загрузить его с помощью Aspose.Pdf.Document и конвертировать каждый из них в Base64 индивидуально. Это хорошо работает для пакетной обработки.

  1. Могу ли я сгенерировать новый PDF и напрямую конвертировать его в Base64 без сохранения на диск?

Да. Вы можете создать новый Document в памяти, добавить содержимое, сохранить его в MemoryStream, а затем закодировать в Base64, нет необходимости создавать физический файл.

Заключение

В этой статье вы узнали, как конвертировать файл PDF в строку Base64 и декодировать его обратно в PDF на C# с использованием Aspose.PDF for .NET. Эта библиотека предлагает надежный и функционально богатый API для работы с документами PDF, что делает кодирование и декодирование Base64 простым в реализации в любом приложении .NET.

Если у вас есть какие-либо вопросы или вам нужна помощь, пожалуйста, посетите наш free support forum, наша команда всегда готова помочь.

Смотрите также