
Файл PDF обычно состоит из 14 стандартных шрифтов, но иногда мы сталкиваемся с требованием использовать пользовательские шрифты для лучшего представления текста. Пользовательские шрифты могут использоваться с обычным текстом, водяным знаком, верхним/нижним колонтитулом или внутри объекта таблицы. Вы можете использовать один шрифт во всем документе или можете рассмотреть возможность использования отдельного шрифта для каждого объекта (даже отдельные объекты одного типа могут иметь уникальный шрифт).Для поддержки этой возможности недавний выпуск Aspose.PDF Cloud был обновлен для поддержки этой функции.
API обработки PDF-файлов
Aspose.PDF Cloud предоставляет возможности для создания и обработки PDF-файлов. Поскольку API-интерфейсы разработаны в соответствии с архитектурой REST, мы можем использовать API на любой платформе, т. е. Windows, Linux, macOS. Кроме того, вы можете задействовать наши API в различных приложениях, включая настольные, мобильные, веб-приложения и т. д. В рамках этой статьи мы будем использовать Aspose.PDF Cloud для .NET, который является оболочкой вокруг Aspose.PDF Cloud и позволяет разработчикам .NET использовать все возможности обработки PDF-файлов в их собственном приложении .NET. Теперь, чтобы начать работу с Cloud SDK, первым шагом является их установка, а соответствующие сведения можно найти в разделе Как установить Aspose.Cloud SDK.
Текст с пользовательским шрифтом
В недавнем выпуске Aspose.PDF Cloud появилась поддержка возможности ссылаться на пользовательские шрифты при добавлении текста в PDF-файлы.
cURL
curl -X PUT "https://api.aspose.cloud/v3.0/pdf/MyNewFile.pdf/pages/1/text" -H "accept: application/json" -H "authorization: Bearer <JWT Token>" -H "Content-Type: application/json" -H "x-aspose-client: Containerize.Swagger" -d "{ \"LineSpacing\": \"FontSize\", \"WrapMode\": \"ByWords\", \"HorizontalAlignment\": \"FullJustify\", \"LeftMargin\": 10, \"RightMargin\": 10, \"TopMargin\": 20, \"BottomMargin\": 20, \"Rectangle\": { \"LLX\": 100, \"LLY\": 600, \"URX\": 300, \"URY\": 200 }, \"Rotation\": 10, \"SubsequentLinesIndent\": 10, \"VerticalAlignment\": \"Center\", \"Lines\": [ { \"HorizontalAlignment\": \"Left\", \"Segments\": [ { \"Value\": \"Hello World..\", \"TextState\": { \"FontSize\": 18, \"Font\": \"Arial\", \"ForegroundColor\": { \"A\": 0x00, \"R\": 0x33, \"G\": 0x33, \"B\": 0x99 }, \"BackgroundColor\": { \"A\": 0x00, \"R\": 0xCC, \"G\": 0xFF, \"B\": 0xCC }, \"FontStyle\": \"Regular\", \"FontFile\": \"Allura-Regular.otf\" } } ] } ]}"
Запросить URL-адрес
https://api.aspose.cloud/v3.0/pdf/MyNewFile.pdf/pages/1/text
C#.NET
// Полные примеры и файлы данных можно найти по адресу https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-dotnet
PdfApi pdfApi = new PdfApi("API_KEY", "APP_SID");
string Name = "MyNewFile.pdf";
try {
var response = api.PutAddText(Name, 1, PutAddTextExample());
Console.WriteLine(response);
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
}
public static Aspose.Pdf.Cloud.Sdk.Model.Paragraph PutAddTextExample()
{
//ExStart: PutAddTextExample
Aspose.Pdf.Cloud.Sdk.Model.Paragraph paragraph = new Aspose.Pdf.Cloud.Sdk.Model.Paragraph(
Rectangle: new Aspose.Pdf.Cloud.Sdk.Model.Rectangle(100, 600, 300, 800),
LeftMargin: 10,
RightMargin: 10,
TopMargin: 10,
BottomMargin: 10,
HorizontalAlignment: Aspose.Pdf.Cloud.Sdk.Model.TextHorizontalAlignment.FullJustify,
LineSpacing: Aspose.Pdf.Cloud.Sdk.Model.LineSpacing.FontSize,
Rotation: 10,
SubsequentLinesIndent: 10,
VerticalAlignment: Aspose.Pdf.Cloud.Sdk.Model.VerticalAlignment.Center,
WrapMode: Aspose.Pdf.Cloud.Sdk.Model.WrapMode.ByWords,
Lines: new System.Collections.Generic.List<Aspose.Pdf.Cloud.Sdk.Model.TextLine>
{
new Aspose.Pdf.Cloud.Sdk.Model.TextLine(
HorizontalAlignment: Aspose.Pdf.Cloud.Sdk.Model.TextHorizontalAlignment.Right,
Segments: new System.Collections.Generic.List<Aspose.Pdf.Cloud.Sdk.Model.Segment>
{
new Aspose.Pdf.Cloud.Sdk.Model.Segment(
Value: "Aspose.PDF Cloud API",
TextState: new Aspose.Pdf.Cloud.Sdk.Model.TextState(
Font: "Arial",
FontSize: 16,
ForegroundColor: new Aspose.Pdf.Cloud.Sdk.Model.Color(0x00, 0x33, 0x33, 0x99),
// BackgroundColor: новый Aspose.Pdf.Cloud.Sdk.Model.Color(0x00, 0xCC, 0xFF, 0xCC),
FontStyle: Aspose.Pdf.Cloud.Sdk.Model.FontStyles.BoldItalic, FontFile: "Allura-Regular.otf"
)
)
}
)
}
);
return paragraph;
}

Изображение 1: Предварительный просмотр текста с пользовательским шрифтом.
Использовать пользовательский шрифт при замене текста
API Cloud предоставляет возможности поиска текста и замены его новым текстовым сегментом. Во время замены текста мы можем предоставить возможность изменить форматирование шрифта, включая новый файл шрифта.
команда cURL
curl -X POST "https://api.aspose.cloud/v3.0/pdf/MyNewFile.pdf/pages/1/text/replace" -H "accept: application/json" -H "authorization: Bearer <JWT Token>" -H "Content-Type: application/json" -H "x-aspose-client: Containerize.Swagger" -d "{ \"TextReplaces\": [ { \"OldValue\": \"API\", \"NewValue\": \".NET SDK\", \"Regex\": true, \"TextState\": { \"FontSize\": 12, \"Font\": \"Arial\", \"ForegroundColor\": { \"A\": 0x00, \"R\": 0x33, \"G\": 0x33, \"B\": 0x99 }, \"BackgroundColor\": { \"A\": 0x00, \"R\": 0xCC, \"G\": 0xFF, \"B\": 0xCC }, \"FontStyle\": \"Regular\", \"FontFile\": \"KaushanScript-Regular.otf\" }, \"Rect\": { \"LLX\": 0, \"LLY\": 0, \"URX\": 0, \"URY\": 0 } } ], \"DefaultFont\": \"string\", \"StartIndex\": 0, \"CountReplace\": 0}"
Запросить URL-адрес
https://api.aspose.cloud/v3.0/pdf/MyNewFile.pdf/pages/1/text/replace
C#.NET
// Полные примеры и файлы данных можно найти по адресу https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-dotnet
Aspose.Pdf.Cloud.Sdk.Api.PdfApi api = new Aspose.Pdf.Cloud.Sdk.Api.PdfApi("API_KEY", "APP_SID");
public static void PostPageTextReplaceExample()
{
//Эксстарт: PostPageTextReplaceExample
var rect = new Aspose.Pdf.Cloud.Sdk.Model.Rectangle(100, 600, 300, 800);
var textState = new Aspose.Pdf.Cloud.Sdk.Model.TextState(
FontSize: 14, ForegroundColor: new Aspose.Pdf.Cloud.Sdk.Model.Color(
0x00, 0x33, 0x13, 0x49), FontFile: "KaushanScript-Regular.otf");
var textReplace = new Aspose.Pdf.Cloud.Sdk.Model.TextReplace("API", "SDK", true, TextState: textState , Rect: rect);
var textReplaceList = new Aspose.Pdf.Cloud.Sdk.Model.TextReplaceListRequest(
new System.Collections.Generic.List<Aspose.Pdf.Cloud.Sdk.Model.TextReplace> { textReplace },
StartIndex: 0, CountReplace: 1);
Aspose.Pdf.Cloud.Sdk.Api.PdfApi api = new Aspose.Pdf.Cloud.Sdk.Api.PdfApi("15fa9268fd293c7998a5051c88a75f80", "265ae48d-aa27-4470-9e84-3e383050a436");
var response = api.PostPageTextReplace("MyNewFile.pdf", 1, textReplaceList);
Console.WriteLine(response);
//ExEnd: PostPageTextReplaceExample
}

Изображение 2: Предварительный просмотр замены текста с использованием пользовательского шрифта.
Пользовательский шрифт также можно использовать в объектах «Верхний/нижний колонтитул», «Таблица» и «Штамп».
Заключение
В этой статье объясняются шаги по использованию пользовательского шрифта в PDF при добавлении нового текста, а также использование пользовательского шрифта при замене существующего текста в документе PDF. Помимо функций, указанных выше, вы можете изучить множество других удивительных функций, описанных в Руководстве программиста. Кроме того, обратите внимание, что наши облачные API публикуются под лицензией MIT, и их полный исходный код можно загрузить с GitHub.
Если у вас возникнут какие-либо проблемы при использовании API, свяжитесь с нами через бесплатную службу поддержки клиентов.
Похожие статьи
Мы рекомендуем посетить следующие ссылки, чтобы узнать больше о: