Конвертация PDF в EPUB, LaTeX, текст, XPS на C#

Эта статья объясняет, как конвертировать PDF в различные форматы с использованием C#. Она охватывает следующие темы.

Конвертация PDF в EPUB

EPUB — это бесплатный и открытый стандарт электронных книг от Международного форума цифрового издательства (IDPF). Файлы имеют расширение .epub. EPUB предназначен для контента с возможностью изменения формата, что означает, что EPUB-ридер может оптимизировать текст для конкретного устройства отображения. EPUB также поддерживает контент с фиксированным макетом. Формат предназначен как единый формат, который издатели и конверсионные компании могут использовать внутри компании, а также для распространения и продажи. Он заменяет стандарт Open eBook.

Следующий фрагмент кода также работает с библиотекой Aspose.PDF.Drawing.

Aspose.PDF for .NET также поддерживает функцию конвертации PDF документов в формат EPUB. Aspose.PDF for .NET имеет класс под названием EpubSaveOptions, который может быть использован в качестве второго аргумента для метода Document.Save(..), чтобы сгенерировать файл EPUB. Пожалуйста, попробуйте использовать следующий фрагмент кода для выполнения этой задачи с C#.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFtoEPUB()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "PDFToEPUB.pdf"))
    {
        // Instantiate Epub Save options
        EpubSaveOptions options = new EpubSaveOptions();
        // Specify the layout for contents
        options.ContentRecognitionMode = EpubSaveOptions.RecognitionMode.Flow;

        // Save ePUB document
        document.Save(dataDir + "PDFToEPUB_out.epub", options);
    }
}

Конвертация PDF в LaTeX/TeX

Конвертация PDF в LaTeX/TeX

Aspose.PDF for .NET поддерживает конвертацию PDF в LaTeX/TeX. Формат файла LaTeX — это текстовый формат файла со специальной разметкой, используемый в системе подготовки документов на основе TeX для высококачественной верстки.

Чтобы конвертировать PDF файлы в TeX, Aspose.PDF имеет класс LaTeXSaveOptions, который предоставляет свойство OutDirectoryPath для сохранения временных изображений во время процесса конвертации.

Следующий фрагмент кода показывает процесс конвертации PDF файлов в формат TEX с C#.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFtoTeX()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "PDFToTeX.pdf"))
    {
        // Instantiate LaTex save option          
        LaTeXSaveOptions saveOptions = new LaTeXSaveOptions();

        // Specify the output directory
        string pathToOutputDirectory = dataDir;

        // Set the output directory path for save option object
        saveOptions.OutDirectoryPath = pathToOutputDirectory;

        // Save PDF document into LaTex format           
        document.Save(dataDir + "PDFToTeX_out.tex", saveOptions);
    }
}

Конвертация PDF в текст

Конвертация PDF в простой текст

Aspose.PDF for .NET поддерживает конвертацию целого PDF документа и одной страницы в текстовый файл.

Конвертация целого PDF документа в текстовый файл

Вы можете конвертировать PDF документ в TXT файл, используя метод Visit класса TextAbsorber.

Следующий фрагмент кода объясняет, как извлечь текст со всех страниц.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFtoTXT()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "demo.pdf"))
    {
        var ta = new Aspose.Pdf.Text.TextAbsorber();
        ta.Visit(document);

        // Save the extracted text in text file
        File.WriteAllText(dataDir + "input_Text_Extracted_out.txt",ta.Text);
    }
}

Конвертация страницы PDF в текстовый файл

Вы можете конвертировать PDF документ в TXT файл с Aspose.PDF for .NET. Вам следует использовать метод Visit класса TextAbsorber, чтобы решить эту задачу.

Следующий фрагмент кода объясняет, как извлечь текст с конкретных страниц.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFtoTXT()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "demo.pdf"))
    {
        var ta = new Aspose.Pdf.Text.TextAbsorber();
        var pages = new [] {1, 3, 4};
        foreach (var page in pages)
        {
            ta.Visit(document.Pages[page]);
        }
    
        // Save the extracted text in text file
        File.WriteAllText(dataDir + "input_Text_Extracted_out.txt", ta.Text);
    }
}

Конвертация PDF в XPS

Конвертация PDF в XPS

Aspose.PDF for .NET предоставляет возможность конвертировать PDF файлы в формат XPS. Давайте попробуем использовать представленный фрагмент кода для конвертации PDF файлов в формат XPS с C#.

Тип файла XPS в первую очередь ассоциируется с XML Paper Specification от корпорации Microsoft. XML Paper Specification (XPS), ранее имевший кодовое название Metro и охватывающий концепцию маркетинга Next Generation Print Path (NGPP), является инициативой Microsoft по интеграции создания и просмотра документов в операционную систему Windows.

Чтобы конвертировать PDF файлы в XPS, Aspose.PDF имеет класс XpsSaveOptions, который используется в качестве второго аргумента для метода Document.Save(..) для генерации файла XPS.

С момента релиза 24.2 Aspose.PDF реализовал конвертацию поискового PDF в XPS, сохраняя текст, доступный для выбора в результирующем XPS. Чтобы сохранить текст, необходимо установить свойство XpsSaveOptions.SaveTransparentTexts в true.

Следующий фрагмент кода показывает процесс конвертации PDF файла в формат XPS.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFtoXPS()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();

    using (var document = new Aspose.Pdf.Document(dataDir + "demo.pdf"))
    {
        var xpsOptions = new XpsSaveOptions
        {
            SaveTransparentTexts = true
        };

        // Save XPS document
        document.Save(dataDir + "PDFtoXPS_out.xps", xpsOptions);
    }
}

Конвертация PDF в Markdown

Конвертация PDF в Markdown

Aspose.PDF for .NET предоставляет возможность конвертировать PDF файлы в формат MD. Давайте попробуем использовать представленный фрагмент кода для конвертации PDF файлов в формат MD с C#.

Markdown — это легкий язык разметки, предназначенный для представления форматирования простого текста с максимальной читаемостью для человека и машинной читаемостью для продвинутых языков публикации.

Оптимизация использования изображений с помощью конвертера PDF в Markdown

Вы можете заметить, что в каталогах с изображениями количество изображений меньше, чем количество изображений в PDF файлах.

Поскольку файл markdown не может установить размер изображения, без опции MarkdownSaveOptions.UseImageHtmlTag, одинаковые изображения с разными размерами сохраняются как разные.

Для включенной опции MarkdownSaveOptions.UseImageHtmlTag будут сохранены уникальные изображения, которые масштабируются в документе с помощью тега img.

Код открывает PDF документ, настраивает параметры для его конвертации в файл Markdown (сохранение любых изображений в папке с именем “images”) и сохраняет полученный файл Markdown в указанном выходном пути.

Следующий фрагмент кода показывает процесс конвертации PDF файла в формат MD.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFtoMarkup()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "demo.pdf"))
    {
        // Create an instance of MarkdownSaveOptions to configure the Markdown export settings
        var saveOptions = new MarkdownSaveOptions()
        {
            // Set to false to prevent the use of HTML <img> tags for images in the Markdown output
            UseImageHtmlTag = false
        }
        
        // Specify the directory name where resources (like images) will be stored
        saveOptions.ResourcesDirectoryName = "images";

        // Save PDF document in Markdown format to the specified output file path using the defined save options   
        document.Save(dataDir + "PDFtoMarkup_out.md", saveOptions);
    }
}

Конвертация PDF в MobiXml

MobiXML — это популярный формат электронных книг, предназначенный для использования на мобильных платформах. Следующий фрагмент кода объясняет, как конвертировать PDF документ в файл MobiXML.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET      
private static void ConvertPdfToMobiXml()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "PDFToXML.pdf"))
    {
        // Save PDF document in XML format
        document.Save(dataDir + "PDFToXML_out.xml", Aspose.Pdf.SaveFormat.MobiXml);
    }
}