
PDF 文件通常由 14 种标准字体组成,但有时我们会偶然发现需要使用自定义字体来更好地呈现文本。自定义字体可用于常规文本、水印图章、页眉/页脚或表格对象内。您可以在整个文档中使用单一字体,也可以考虑为每个对象使用单独的字体(即使同一类型的单个对象也可能具有唯一的字体)。为了支持此功能,Aspose.PDF Cloud 的最新版本已升级以支持此功能。
PDF处理API
Aspose.PDF Cloud 提供创建和操作 PDF 文件的功能。由于 API 是根据 REST 架构开发的,因此我们可以在任何平台上使用 API,例如 Windows、Linux、macOS。此外,您还可以在各种应用程序中使用我们的 API,包括桌面、移动、Web 等。根据本文的范围,我们将使用 Aspose.PDF Cloud for .NET,它是 Aspose.PDF Cloud 的包装器,使 .NET 开发人员能够在其本机 .NET 应用程序中使用所有 PDF 处理功能。现在,为了开始使用 Cloud SDK,第一步是安装它们,相关详细信息可在 如何安装 Aspose.Cloud SDK 中找到。
自定义字体的文本
Aspose.PDF Cloud 的最新版本支持在向 PDF 文件添加文本时引用自定义字体的功能。
卷曲
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: PutAddText示例
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),
// 背景颜色:新的 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:带有自定义字体的文本预览。
文本替换时使用自定义字体
Cloud API 提供了搜索文本并将其替换为新文本段的功能。在文本替换期间,我们可以提供更改字体格式的选项,包括新的字体文件。
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()
{
//ExStart: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);
//扩展结束:PostPageTextReplace示例
}

图 2:使用自定义字体的文本替换预览。
自定义字体还可以用于页眉/页脚、表格和图章对象。
结论
本文介绍了如何在 PDF 中添加新文本时使用自定义字体以及在 PDF 文档中替换现有文本时使用自定义字体的步骤。除了上述功能外,您还可以探索 程序员指南 中介绍的大量其他令人惊叹的功能。此外,请注意,我们的云 API 是根据 MIT 许可证发布的,其完整源代码可从 GitHub 下载。
如果您在使用 API 时遇到任何问题,请通过免费的客户支持服务联系我们。
相关文章
我们建议您访问以下链接以了解更多信息: