Конвертация других форматов файлов в PDF в .NET
Обзор
Эта статья объясняет, как конвертировать различные другие типы форматов файлов в PDF с использованием C#. Она охватывает следующие темы.
Следующий пример кода также работает с библиотекой Aspose.PDF.Drawing.
Формат: EPUB
Формат: Markdown
- C# Markdown в PDF
- C# Конвертировать Markdown в PDF
- C# Как конвертировать файл Markdown в PDF
- C# Как конвертировать файл Markdown в PDF
Формат: MD
Формат: PCL
Формат: Text
Формат: TXT
Формат: Plain Text
- C# Обычный текст в PDF
- C# Конвертировать обычный текст в PDF
- C# Как конвертировать файл обычного текста в PDF
- C# Как конвертировать текстовый файл в PDF
Формат: Преформатированный TXT
- C# Преформатированный текст в PDF
- C# Конвертировать преформатированный текст в PDF
- C# Как конвертировать файл преформатированного текста в PDF
Формат: Пре Текст
Формат: XPS
Конвертация EPUB в PDF
Aspose.PDF для .NET позволяет легко конвертировать файлы EPUB в формат PDF.
EPUB (сокращение от электронная публикация) является свободным и открытым стандартом электронных книг от Международного форума по цифровым публикациям (IDPF). EPUB (сокращение от электронная публикация) является свободным и открытым стандартом электронных книг от Международного форума цифровых публикаций (IDPF).
EPUB также поддерживает контент с фиксированным макетом. Формат предназначен как единый формат, который издатели и конвертационные компании могут использовать внутри компании, а также для распространения и продажи. Он заменяет стандарт Open eBook. Версия EPUB 3 также поддерживается Книжной промышленной исследовательской группой (BISG), ведущей ассоциацией книжной торговли для стандартизации лучших практик, исследований, информации и событий для упаковки содержимого.
Попробуйте конвертировать EPUB в PDF онлайн
Aspose.PDF для .NET представляет вам бесплатное онлайн приложение “EPUB в PDF”, где вы можете изучить функциональность и качество его работы.
Шаги: Конвертирование EPUB в PDF на C# Шаги: Конвертация EPUB в PDF на C#
- Создайте экземпляр класса EpubLoadOptions.
- Создайте экземпляр класса Document с указанием исходного имени файла и опций.
- Сохраните документ с желаемым именем файла.
Следующий фрагмент кода показывает, как конвертировать файлы EPUB в формат PDF на C#.
public static void ConvertEPUBtoPDF()
{
EpubLoadOptions option = new EpubLoadOptions();
Document pdfDocument= new Document(_dataDir + "WebAssembly.epub", option);
pdfDocument.Save(_dataDir + "epub_test.pdf");
}
Вы также можете установить размер страницы для конвертации. Чтобы определить новый размер страницы, используйте объект SizeF
и передайте его в конструктор EpubLoadOptions.
public static void ConvertEPUBtoPDFAdv()
{
EpubLoadOptions option = new EpubLoadOptions(new SizeF(1190, 1684));
Document pdfDocument= new Document(_dataDir + "WebAssembly.epub", option);
pdfDocument.Save(_dataDir + "epub_test.pdf");
}
Конвертирование Markdown в PDF
Эта функция поддерживается начиная с версии 19.6 или выше.
Попробуйте конвертировать Markdown в PDF онлайн
Aspose.PDF для .NET представляет вам бесплатное онлайн приложение “Markdown в PDF”, где вы можете исследовать функциональность и качество его работы.
Aspose.PDF для .NET предоставляет функциональность создания PDF документа на основе входного файла данных Markdown. Для конвертации Markdown в PDF необходимо инициализировать Document с использованием MdLoadOptions.
Следующий фрагмент кода показывает, как использовать эту функциональность с библиотекой Aspose.PDF:
Шаги: Конвертация Markdown в PDF на C# | Шаги: Конвертация Markdown в PDF на C# | Шаги: Конвертация MD в PDF на C#
- Создайте экземпляр класса MdLoadOptions .
- Создайте экземпляр класса Document с указанием исходного имени файла и опций.
- Сохраните документ с желаемым именем файла.
// Путь к директории документов.
string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
// Открыть документ Markdown
Document pdfDocument= new Document(dataDir + "sample.md", new MdLoadOptions());
// Сохранить документ в формате PDF
pdfDocument.Save(dataDir + "MarkdownToPDF.pdf");
Конвертация PCL в PDF
PCL (язык команд принтера) — это разработанный Hewlett-Packard язык принтера, предназначенный для доступа к стандартным функциям принтера. PCL (Язык команд принтера) — это язык принтеров Hewlett-Packard, разработанный для доступа к стандартным функциям принтера.
Попробуйте конвертировать PCL в PDF онлайн
Aspose.PDF для .NET предлагает вам бесплатное онлайн-приложение “PCL в PDF”, где вы можете исследовать функциональность и качество его работы.
В настоящее время поддерживаются только PCL5 и более старые версии
Наборы команд | Поддержка | Исключения | Описание |
---|---|---|---|
Команды управления заданиями
| |||
|
Разрешить загрузку мягких (встроенных) шрифтов из файла PCL и управление ими в памяти. | ||
Команды растровой графики | + | Только черно-белые |
Разрешить загрузку растровых изображений из файла PCL в память, указать параметры растра, такие как ширина, высота, тип сжатия, разрешение и т.д. |
Команды работы с цветом | + | Разрешить раскраску для всех печатаемых объектов. | |
Команды модели печати
```
Команды печати модели + Разрешить заполнение текста, растровых изображений и прямоугольных областей растровыми предопределенными и пользовательскими узорами, указать режим прозрачности для узоров и исходного растрового изображения. Предопределенные узоры включают штриховку, крестообразную штриховку и теневые узоры. Команды заполнения прямоугольной области + Разрешить создание и заполнение прямоугольных областей узорами. Команды векторной графики HP-GL/2 + Команда векторной графики с экранированием (SV), Команда режима прозрачности (TR), Команда прозрачных данных (TD), RO
|
|||
Макросы | ― | Позволяют загружать последовательность команд PCL в память и использовать эту последовательность много раз, например, для печати заголовка страницы или установки одного форматирования для набора страниц. | |
Текст Unicode | ― | ```
Конвертация PCL файла в формат PDF
Для конвертации из PCL в PDF, Aspose.PDF использует класс PclLoadOptions
, который используется для инициализации объекта LoadOptions.
Для конвертации из PCL в PDF, Aspose.PDF использует класс [`PclLoadOptions`](https://reference.aspose.com/pdf/net/aspose.pdf/pclloadoptions), который используется для инициализации объекта LoadOptions.
Следующий фрагмент кода показывает процесс конвертации файла PCL в формат PDF.
<a name="csharp-convert-pcl-to-pdf" id="csharp-convert-pcl-to-pdf"><strong><em>Шаги:</em> Конвертация PCL в PDF на C#</strong></a>
1. Создайте экземпляр класса [PclLoadOptions](https://reference.aspose.com/pdf/net/aspose.pdf/pclloadoptions/).
2. Создайте экземпляр класса [Document](https://reference.aspose.com/pdf/net/aspose.pdf/document/) с указанием исходного имени файла и опций.
3. Сохраните документ с желаемым именем файла.
```csharp
public static void ConvertPCLtoPDF()
{
PclLoadOptions options = new PclLoadOptions();
Document pdfDocument= new Document(_dataDir + "demo.pcl", options);
pdfDocument.Save(_dataDir + "pcl_test.pdf");
}
Также вы можете отслеживать обнаружение ошибок в процессе конвертации. Вы также можете отслеживать обнаружение ошибок в процессе конвертации.
public static void ConvertPCLtoPDFAvdanced()
{
PclLoadOptions options = new PclLoadOptions { SupressErrors = true };
Document pdfDocument= new Document(_dataDir + "demo.pcl", options);
if (options.Exceptions!=null)
foreach (var ex in options.Exceptions)
{
Console.WriteLine(ex.Message);
}
pdfDocument.Save(_dataDir + "pcl_test.pdf");
}
Известные проблемы
- Исходное положение текстовых строк и изображений может незначительно отличаться от исходного файла PCL, если направление печати не равно 0°. То же относится к векторным изображениям, если система координат векторного графика повернута (предшествует команда RO).
- Исходное положение меток на векторных изображениях может отличаться от исходного файла PCL, если на метки влияет последовательность команд: Исходное положение метки (LO), Определение переменного текстового пути (DV), Абсолютное направление (DI) или Относительное направление (DR).
- Если обработанный файл PCL содержит шрифты Intellifont или Universal, будет выброшено исключение, поскольку шрифты Intellifont и Universal не поддерживаются.
- Если обработанный файл PCL содержит команды макросов, результат обработки сильно отличается от исходного файла, поскольку команды макросов не поддерживаются.
Конвертация текста в PDF
Aspose.PDF для .NET поддерживает функцию конвертации обычного текста и предварительно отформатированного текстового файла в формат PDF.
Конвертация текста в PDF означает добавление фрагментов текста на страницу PDF. Что касается текстовых файлов, мы имеем дело с 2 типами текста: предварительная форматирование (например, 25 строк по 80 символов в каждой) и неформатированный текст (обычный текст). В зависимости от наших потребностей, мы можем контролировать это добавление самостоятельно или доверить его алгоритмам библиотеки.
Попробуйте конвертировать TEXT в PDF онлайн
Aspose.PDF для .NET представляет вам бесплатное онлайн-приложение “Text to PDF”, где вы можете изучить функциональность и качество его работы. Aspose.PDF для .NET представляет вам бесплатное онлайн-приложение “Текст в PDF”, где вы можете изучить функциональность и качество его работы.
Преобразование обычного текстового файла в PDF
В случае с обычным текстовым файлом мы можем использовать следующую технику:
Шаги: Преобразование текста в PDF на C# | Шаги: Преобразование TXT в PDF на C# | Шаги: Преобразование простого текста в PDF на C#
- Используйте TextReader для чтения всего текста;
- Создайте новый объект TextFragment и передайте объект TextReader в его конструктор;
- Добавьте объект TextFragment как параграф в коллекцию Paragraphs. Если объем текста превышает размер страницы, алгоритм библиотеки автоматически добавляет дополнительные страницы;
- Используйте метод Save класса Document;
// Для полных примеров и файлов данных, пожалуйста, перейдите по ссылке https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Путь к директории документов.
string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
// Чтение исходного текстового файла
TextReader tr = new StreamReader(dataDir + "log.txt");
// Создание экземпляра объекта Document с помощью вызова его пустого конструктора
Document pdfDocument= new Document();
// Добавление новой страницы в коллекцию Pages документа
Page page = pdfDocument.Pages.Add();
// Создание экземпляра TextFragment и передача текста из объекта reader в его конструктор в качестве аргумента
TextFragment text = new TextFragment(tr.ReadToEnd());
// Добавление нового текстового параграфа в коллекцию параграфов и передача объекта TextFragment
page.Paragraphs.Add(text);
// Сохранение результирующего PDF-файла
pdfDocument.Save(dataDir + "TexttoPDF_out.pdf");
Конвертация предварительно отформатированного текстового файла в PDF
Конвертация предварительно отформатированного текста похожа на обработку обычного текста, но требует выполнения дополнительных действий, таких как настройка полей, выбор типа и размера шрифта. Очевидно, что шрифт должен быть моноширинным (например, Courier New).
Следуйте этим шагам для конвертации предварительно отформатированного текста в PDF с помощью C#:
Шаги: Конвертация предварительно отформатированного текста в PDF на C# | Шаги: Конвертация предварительно отформатированного TXT в PDF на C#
- Прочитайте весь текст как массив строк;
- Создайте объект Document и добавьте новую страницу в коллекцию Pages; В данном случае алгоритм библиотеки также добавляет дополнительные страницы, но мы можем контролировать этот процесс самостоятельно. Следующий пример показывает, как конвертировать предварительно отформатированный текстовый файл (80x25) в PDF-документ формата A4.
public static void ConvertPreFormattedTextToPdf()
{
// Читаем текстовый файл как массив строк
var lines = System.IO.File.ReadAllLines(_dataDir + "rfc822.txt");
// Создаем объект Document, вызвав его пустой конструктор
Document pdfDocument= new Document();
// Добавляем новую страницу в коллекцию Pages документа
Page page = pdfDocument.Pages.Add();
// Устанавливаем левый и правый отступы для лучшего представления
page.PageInfo.Margin.Left = 20;
page.PageInfo.Margin.Right = 10;
page.PageInfo.DefaultTextState.Font = FontRepository.FindFont("Courier New");
page.PageInfo.DefaultTextState.FontSize = 12;
foreach (var line in lines)
{
// проверяем, содержит ли строка символ "разрыв формы"
// см. https://en.wikipedia.org/wiki/Page_break
if (line.StartsWith("\x0c"))
{
page = pdfDocument.Pages.Add();
page.PageInfo.Margin.Left = 20;
page.PageInfo.Margin.Right = 10;
page.PageInfo.DefaultTextState.Font = FontRepository.FindFont("Courier New");
page.PageInfo.DefaultTextState.FontSize = 12;
}
else
{
// Создаем экземпляр TextFragment и
// передаем строку в его
// конструктор в качестве аргумента
TextFragment text = new TextFragment(line);
// Добавляем новый текстовый параграф в коллекцию параграфов и передаем объект TextFragment
page.Paragraphs.Add(text);
}
}
// Сохраняем результирующий PDF-файл
pdfDocument.Save(_dataDir + "TexttoPDF_out.pdf");
}
Преобразование XPS в PDF
Aspose.PDF для .NET поддерживает функцию конвертации файлов XPS в формат PDF. Ознакомьтесь с этой статьей, чтобы решить свои задачи.
Тип файла XPS в первую очередь связан с XML Paper Specification от корпорации Microsoft. XML Paper Specification (XPS), ранее известная под кодовым названием Metro и включающая маркетинговую концепцию Next Generation Print Path (NGPP), является инициативой Microsoft по интеграции создания и просмотра документов в ее операционную систему Windows.
Для преобразования XPS в PDF с помощью Aspose.PDF для .NET мы ввели класс с названием XpsLoadOption, который используется для инициализации объекта LoadOptions. Для конвертации XPS в PDF с помощью Aspose.PDF для .NET, мы представили класс под названием XpsLoadOption, который используется для инициализации объекта LoadOptions.
Следующий пример кода показывает процесс конвертации файла XPS в формат PDF на языке C#.
Шаги: Конвертация XPS в PDF на C#
- Создайте экземпляр класса XpsLoadOptions.
- Сохраните документ в формате PDF с желаемым именем файла.
// Для полных примеров и файлов данных, пожалуйста, перейдите по ссылке https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Путь к каталогу документов.
string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
// Создайте объект LoadOption с использованием опции загрузки XPS
Aspose.Pdf.LoadOptions options = new XpsLoadOptions();
// Создайте объект документа
Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(dataDir + "XPSToPDF.xps", options);
// Сохраните полученный документ PDF
document.Save(dataDir + "XPSToPDF_out.pdf");
Попробуйте конвертировать формат XPS в PDF онлайн
Aspose.PDF для .NET представляет вам бесплатное онлайн-приложение “XPS в PDF”, где вы можете изучить функциональность и качество его работы.
Конвертация PostScript в PDF
Aspose.PDF для .NET поддерживает возможность конвертации файлов PostScript в формат PDF. Одной из особенностей Aspose.PDF является возможность установки набора папок шрифтов, которые будут использоваться во время конвертации.
Для конвертации файла PostScript в формат PDF, Aspose.PDF для .NET предлагает класс PsLoadOptions, который используется для инициализации объекта LoadOptions. Позже этот объект может быть передан в конструктор объекта Document, что поможет движку рендеринга PDF определить формат исходного документа.
Следующий фрагмент кода может быть использован для конвертации файла PostScript в формат PDF с помощью Aspose.PDF для .NET:
// Для полных примеров и файлов данных, пожалуйста, перейдите на https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Путь к директории с документами.
string _dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
// Создание нового экземпляра PsLoadOptions
PsLoadOptions options = new PsLoadOptions();
// Открытие .ps документа с созданными параметрами загрузки
Document pdfDocument = new Document(_dataDir + "input.ps", options);
// Сохранение документа
pdfDocument.Save(dataDir + "PSToPDF.pdf");
Кроме того, вы можете задать набор папок со шрифтами, которые будут использоваться во время конвертации:
public static void ConvertPostscriptToPDFAvdanced()
{
PsLoadOptions options = new PsLoadOptions
{
FontsFolders = new [] { @"c:\tmp\fonts1", @"c:\tmp\fonts2"}
};
Document pdfDocument = new Document(_dataDir + "input.ps", options);
pdfDocument.Save(_dataDir + "ps_test.pdf");
}
Конвертация XML в PDF
Формат XML используется для хранения структурированных данных. Существует несколько способов конвертации XML в PDF в Aspose.PDF:
- Преобразуйте любые данные XML в HTML с помощью XSLT и конвертируйте HTML в PDF, как описано ниже
- Создайте XML-документ с использованием схемы XSD Aspose.PDF
- Используйте XML-документ на основе стандарта XSL-FO
Попробуйте конвертировать XML в PDF онлайн
Aspose.PDF для .NET представляет вам бесплатное онлайн-приложение “XML в PDF”, где вы можете изучить функциональность и качество его работы. Aspose.PDF для .NET представляет вам бесплатное онлайн-приложение “XML в PDF”, где вы можете изучить функциональность и качество его работы.
Преобразование XSL-FO в PDF
Преобразование файлов XSL-FO в PDF можно реализовать с использованием традиционной техники Aspose.PDF - создайте объект Document с XslFoLoadOptions. Но иногда вы можете столкнуться с некорректной структурой файла. В этом случае конвертер XSL-FO позволяет настроить стратегию обработки ошибок. Вы можете выбрать ThrowExceptionImmediately
, TryIgnore
или InvokeCustomHandler
.
public static void Convert_XSLFO_to_PDF()
{
// Создайте объект XslFoLoadOption
var options = new XslFoLoadOptions(".\\samples\\employees.xslt");
// Установите стратегию обработки ошибок
options.ParsingErrorsHandlingType = XslFoLoadOptions.ParsingErrorsHandlingTypes.ThrowExceptionImmediately;
// Создайте объект Document
var pdfDocument = new Aspose.Pdf.Document(".\\samples\\employees.xml", options);
pdfDocument.Save(_dataDir + "data_xml.pdf");
}
Преобразование LaTeX/TeX в PDF
Формат файла LaTeX - это текстовый файл с разметкой в производном LaTeX из семейства языков TeX, и LaTeX является производным форматом системы TeX. LaTeX (ˈleɪtɛk/lay-tek или lah-tek) - это система подготовки документов и язык разметки документов. Он широко используется для коммуникации и публикации научных документов во многих областях, включая математику, физику и информатику. Также он играет важную роль в подготовке и публикации книг и статей, содержащих сложные многоязычные материалы, такие как санскрит и арабский, включая критические издания. LaTeX использует программу вёрстки TeX для форматирования своего вывода и сам написан на макроязыке TeX.
Попробуйте преобразовать LaTeX/TeX в PDF онлайн
Aspose.PDF для .NET представляет вам бесплатное онлайн-приложение “LaTex в PDF”, где вы можете исследовать функциональность и качество его работы.
Aspose.PDF для .NET поддерживает функционал конвертации файлов TeX в формат PDF. Для реализации этой задачи пространство имен Aspose.Pdf содержит класс под названием LatexLoadOptions, который предоставляет возможности загрузки файлов LaTex и вывода результатов в формате PDF с использованием класса Document. Следующий фрагмент кода демонстрирует процесс конвертации файла LaTex в формат PDF на языке C#.
public static void ConvertTeXtoPDF()
{
// Создаем объект опций загрузки Latex
TeXLoadOptions options = new TeXLoadOptions();
// Создаем объект документа
Aspose.Pdf.Document pdfDocument= new Aspose.Pdf.Document(_dataDir + "samplefile.tex", options);
// Сохраняем результат в файл PDF
pdfDocument.Save(_dataDir + "TeXToPDF_out.pdf");
}