PDF в Word

Конвертировать PDF в Word с помощью C# .NET

Большое количество документов создается в формате Portable Document Format (PDF), поскольку он сохраняет форматирование документа на всех платформах (настольных компьютерах или мобильных устройствах).Однако мы не можем напрямую изменять файлы PDF, и для этой цели нам необходимо использовать программное обеспечение для обработки PDF, которое включает в себя расходы на установку и лицензирование. Поэтому одним из жизнеспособных решений является преобразование PDF в формат Word.

API преобразования PDF в Word

Aspose.PDF Cloud — это потрясающий API на основе REST, предлагающий возможности создания, обработки и рендеринга PDF-файлов в DOC, DOCX, XLSX, PPTX, HTML и т. д. Благодаря своей архитектуре REST его можно использовать на любой платформе, включая настольные компьютеры, веб-сайты, мобильные устройства и любые операционные системы, такие как Windows, macOS, Linux и т. д. Таким образом, для преобразования PDF в Word в приложении .NET можно использовать Aspose.PDF Cloud SDK для .NET.

Чтобы установить последнюю версию SDK, выполните следующую команду в менеджере пакетов NuGet.

Install-Package Aspose.Pdf-Cloud

Ссылки в Visual Studio

Мы также можем добавить SDK непосредственно в проект Visual Studio. Поэтому разверните дерево проекта в обозревателе решений, щелкните правой кнопкой мыши папку Packages и выберите опцию Manage NuGet Packages… в контекстном меню. Найдите Aspose.PDF Cloud в поле поиска, установите флажок рядом с именем пакета и нажмите кнопку Add Package

Управление пакетами NuGet

Изображение 1: Управление пакетами NuGet.

Если у вас нет учетной записи на панели управления Aspose.Cloud, пожалуйста, создайте бесплатную учетную запись, используя существующую учетную запись GitHub или Google, или нажмите кнопку Создать новую учетную запись. Получите ваши персонализированные учетные данные клиента, так как они потребуются в следующих разделах.

PDF в DOC на C#

Пожалуйста, следуйте инструкциям ниже, чтобы выполнить преобразование файлов PDF в формат документа Word (DOC) в приложении C# .NET. После преобразования вывод сохраняется в экземпляре Steam, который впоследствии может быть сохранен в локальной системе.

  • Во-первых, определите данные идентификатора клиента и секретного ключа клиента, используя строковые объекты.
  • Во-вторых, инициализируйте объект PdfApi, передав в качестве аргументов Client ID и Client Secret.
  • В-третьих, прочитайте содержимое файла и загрузите его в облачное хранилище с помощью метода UploadFile(…) PdfApi.
  • Теперь нам нужно вызвать метод GetPdfInStorageToDoc(…), который берет ссылку на PDF-файл из облачного хранилища и другие необязательные параметры, такие как формат, maxDistanceBetweenTextLines, режим преобразования и т. д.
  • Поскольку выходные данные находятся в экземпляре Steam, мы можем использовать метод File.Create для сохранения выходных данных на локальном диске.
// получить учетные данные клиента с https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// создать экземпляр PdfApi
PdfApi pdfApi = new PdfApi(clientSecret, clientID);

// Введите имя файла PDF
String inputFile = "HtmlExample1.pdf";

// загрузить файл в облачное хранилище
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" +inputFile))
{
    var response = pdfApi.UploadFile(inputFile, file );
}

try
{
    // вызовите метод для выполнения преобразования и сохранения вывода в экземпляре потока
    // Мы указали формат вывода как Docx и режим как Flow. 
    // Значение режима позволяет контролировать, как PDF-документ преобразуется в текстовый документ.
    var response = pdfApi.GetPdfInStorageToDoc(inputFile,null, format: "Docx",null,null,maxDistanceBetweenTextLines: 2,mode: "Flow", folder: null);
    Console.WriteLine(response);
    
    // вызов метода для сохранения вывода на локальном диске
    saveToDisk(response, "/Users/nshahbaz/Downloads/Converted.docx");
}
catch (Exception ex)
{
    System.Diagnostics.Debug.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

// метод сохранения потокового контента в файл на локальном диске
public static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}
Предварительный просмотр PDF в DOC

Изображение 1: Предварительный просмотр преобразования PDF в DOC.

Пожалуйста, перейдите по следующим ссылкам, чтобы загрузить HtmlExample1.pdf и Converted.docx.

Конвертировать PDF в Word — сохранить вывод в облачном хранилище

В этом разделе мы рассмотрим процесс загрузки PDF-документов из облачного хранилища, их конвертацию в формат Word и сохранение вывода в облачном хранилище. Для выполнения этой задачи следуйте инструкциям, указанным ниже:

  • Сначала создайте экземпляр PdfApi, передав в качестве аргументов идентификатор клиента и секретные данные клиента.
  • Загрузите PDF-файл из локальной системы и загрузите его в облачное хранилище с помощью метода UploadFile(…) PdfApi (это необязательный шаг, который можно использовать, если у вас еще нет PDF-файла в облачном хранилище).
  • Создать. строковую переменную, определяющую результирующее имя файла.
  • Наконец, вызовите PutPdfInStorageToDoc(…), который принимает входное имя PDF-файла, имя выходного файла и другие необязательные параметры.
// получить учетные данные клиента с https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// создать экземпляр PdfApi
PdfApi pdfApi = new PdfApi(clientSecret, clientID);

// Введите имя файла PDF
String inputFile = "HtmlExample1.pdf";

// загрузить файл в облачное хранилище
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" +inputFile))
{
    var response = pdfApi.UploadFile(inputFile, file );
}

// результирующее имя файла
string outputfile = "result.doc";

try
{
    // вызовите метод для выполнения преобразования и сохранения вывода в облачном хранилище
    var response = pdfApi.PutPdfInStorageToDoc(inputFile, outputfile, format: "Doc",folder: null);
    
    // вывести код ответа в консоль
    Console.WriteLine(response);
}
catch (Exception ex)
{
    System.Diagnostics.Debug.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}  

PDF в Word DOC с использованием команд cURL

Команды cURL — это удивительный механизм для доступа к REST API. Поэтому в следующем разделе мы выполним преобразование PDF в Word Doc с помощью команды cURL. Однако в качестве предварительного условия первым шагом является генерация JSON Web Token (JWT) на основе сведений ClientID и ClientSecret, полученных из панели управления Aspose.Cloud. Выполните следующую команду в терминале, чтобы сгенерировать токен JWT.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Получив токен JWT, мы можем выполнить следующую команду для конвертации файла PDF, уже имеющегося в облачном хранилище. Полученный документ Word затем сохраняется в облачном хранилище.

curl -X PUT "https://api.aspose.cloud/v3.0/pdf/HtmlExample1.pdf/convert/doc?outPath=converted.docx&addReturnToLineEnd=true&format=DocX&mode=Textbox" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Заключение

В этой статье объясняются шаги по разработке конвертера PDF в Word с использованием Aspose.PDF Cloud. Мы изучили варианты конвертации PDF в DOC с использованием фрагмента кода C#, а также конвертации PDF в Word с использованием команд cURL. Помимо конвертации, он также предоставляет другие интересные функции, и их подробности можно найти на Aspose.PDF Cloud Features.

Поскольку наши Cloud SDKS разработаны под лицензией MIT, их полный фрагмент кода можно загрузить с GitHub. Если у вас возникнут какие-либо проблемы при использовании API или у вас возникнут какие-либо вопросы, пожалуйста, свяжитесь с нами через бесплатный форум поддержки.

Похожие статьи

Мы также рекомендуем посетить следующие ссылки, чтобы узнать больше о: