
Нам часто приходится конвертировать файлы HTML в PDF из-за нескольких сильных сторон формата файла PDF. Учитывая особенности файлов PDF, API Aspose.PDF Cloud был структурирован и разработан для удовлетворения всех ваших потребностей, связанных с PDF. Вы можете создавать, редактировать или манипулировать поддерживаемыми форматами файлов. Среди других преобразований форматов файлов преобразование HTML в PDF является одним из известных вариантов использования.
Aspose.PDF Cloud — это REST API, поэтому вам не понадобятся сложные конфигурации или настройки среды. Также доступно несколько SDK, чтобы вы могли легко выполнить требования. Вы можете работать с любым SDK, включая .NET, Java, PHP, Android, Python, Ruby, Node.js, Swift или Go. Начните сегодня, зарегистрировавшись с существующей учетной записью GitHub, Twitter, Facebook или Google. Щедрая бесплатная пробная версия предоставляется при регистрации.
Конвертировать HTML в PDF-файл
Вы можете конвертировать HTML в PDF, выполнив следующие шаги:
- Загрузите HTML-файл и связанные с ним CSS, JS, изображения в виде одного ZIP-файла в облачное хранилище.
- Получите JSON Web Token для аутентификации.
- Вызовите API https://api.aspose.cloud/v3.0/pdf/create/html.
- Сохраните сгенерированный PDF-файл, полученный как ответ API.
Следующий код cURL выполняет следующие шаги и преобразует HTML-файл:
// Сначала получите JSON Web Token для аутентификации
// Получите ключ приложения и идентификатор SID приложения с https://dashboard.aspose.cloud/
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=[API_SID]&client_secret=[API_KEY]” \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
// Пример cURL для загрузки файла в Aspose Cloud Storage
curl -v "https://api.aspose.cloud/v3.0/pdf/storage/file?path=HtmlWithImage.zip" \
-X PUT \
-T HtmlWithImage.zip \
-H "Content-Type: multipart/form-data" \
-H "Accept: application/json" \
-H "Authorization: Bearer <jwt token>"
// Пример cURL для преобразования HTML-файла (расположенного на хранилище) в PDF и сохранения полученного файла на локальном хранилище
curl -v "https://api.aspose.cloud/v3.0/pdf/create/html?srcPath=HtmlWithImage.zip&htmlFileName=HtmlWithImage.html&height=650&width=250" \
-X GET \
-H "Content-Type: application/json" \
-H "Accept: multipart/form-data" \
-H "Authorization: Bearer <jwt token>" \
-o fromHtml.pdf
Вы также можете заметить несколько дополнительных параметров, указанных с вызовом API в коде выше. Они включают размеры страницы и поля страницы сгенерированного PDF-документа, которые можно указать заранее. Обратите внимание, что стандартной единицей в API Aspose является пункт, где 72 пункта равны 1 дюйму. Поэтому, согласно переданным значениям, поле устанавливается равным половине дюйма, а размеры страницы равны формату A4.
Входной HTML-файл

Выходной PDF-файл

На снимке экрана можно заметить высококачественный рендеринг PDF с помощью API Aspose.PDF Cloud через один вызов API. Аналогично, эта простая, но мощная функция способна рендерить даже сложные документы в формате WYSIWYG.
Более того, API Aspose Cloud поддерживают сторонние облачные хранилища, включая Google Drive, Dropbox и т. д. Следующий пример cURL использует хранилище Amazon S3 для преобразования:
// Сначала получите JSON Web Token для аутентификации
// Получите ключ приложения и идентификатор SID приложения с https://dashboard.aspose.cloud/
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=[APP_SID]&client_secret=[APP_KEY]" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
// Пример cURL для загрузки файла в хранилище AWS S3
curl -v "https://api.aspose.cloud/v3.0/pdf/storage/file?path=HtmlWithImage.zip&storageName=S3FirstStorage" \
-X PUT \
-T HtmlWithImage.zip \
-H "Content-Type: multipart/form-data" \
-H "Accept: application/json" \
-H "Authorization: Bearer <jwt token>"
// Пример cURL для преобразования HTML-файла (расположенного в хранилище AWS S3) в PDF и сохранения полученного файла в локальном хранилище
curl -v "https://api.aspose.cloud/v3.0/pdf/create/html?srcPath=HtmlWithImage.zip&htmlFileName=HtmlWithImage.html&height=650&width=250&storage=S3FirstStorage" \
-X GET \
-H "Content-Type: application/json" \
-H "Accept: multipart/form-data" \
-H "Authorization: Bearer <jwt token>" \
-o fromHtml.pdf
Этот код загрузит исходный файл в хранилище AWS S3 и сохранит сгенерированный PDF-файл в локальном хранилище. Он также устанавливает размер страницы PDF-документа в соответствии со стандартом A4, что можно проверить на вкладке свойств документа, как показано на снимке экрана ниже:

Пример Java
Давайте теперь рассмотрим пример Java для преобразования HTML в PDF с помощью Aspose.PDF Cloud SDK для Java. SDK — это оболочка вокруг REST API в Java, которая позволяет обрабатывать документы, получая все преимущества строгих типов и возможностей IDE. Вы можете установить его, добавив следующую зависимость в файл POM проекта:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf-cloud</artifactId>
<version>20.2.0</version>
<scope>compile</scope>
</dependency>
Aspose.PDF Cloud SDK также включает набор модульных тестов. Модульные тесты также служат в качестве примеров, которые объясняют, как работать с Aspose.PDF Cloud SDK для Java. Узнать больше.
Ниже приведен код Java для преобразования HTML-файла в PDF-документ:
public void getHtmlInStorageToPdfTest() throws ApiException
{
// Получите ключ приложения и SID приложения с https://www.aspose.cloud/
PdfApi apiInstance = new PdfApi("app_key", "app_sid");
String name = "HtmlWithImage.zip";
th.uploadFile(name);
String htmlFileName = "HtmlWithImage.html";
double height = 650;
double width = 250;
String srcPath = th.tempFolder + '/' + name;
File response = th.pdfApi.getHtmlInStorageToPdf(srcPath, htmlFileName, height, width,
null, null, null, null, null, null);
assertNotNull(response);
}
Это несколько простых и базовых демонстраций высококачественного рендеринга PDF-документов. Кроме того, API богат функциями и поставляется с бесплатной пробной версией без каких-либо водяных знаков или ограничений. Если у вас есть какие-либо проблемы, вопросы или предложения, свяжитесь с нами через бесплатные форумы поддержки, и мы с удовольствием вам поможем. Приятного кодирования!