Работа с текстом в файле XPS | .NET
Добавить текст в документ XPS
Aspose.Page для .NET предлагает класс XpsGlyphs, с помощью которого вы можете добавлять текст в документы XPS. Вам необходимо указать любую кисть, предоставляемую API.
В приведенном ниже примере используется XpsSolidColorBrush и сохраняется объект класса XpsDocument. Следующий фрагмент кода демонстрирует полную функциональность добавления текста в документ XPS:
1// Add text to XPS document.
2
3// Create new XPS Document
4XpsDocument doc = new XpsDocument();
5
6string outputFileName = "AddText_out.xps";
7
8//Create a brush
9XpsSolidColorBrush textFill = doc.CreateSolidColorBrush(Color.Black);
10//Add glyph to the document
11XpsGlyphs glyphs = doc.AddGlyphs("Arial", 12, FontStyle.Regular, 300f, 450f, "Hello World!");
12glyphs.Fill = textFill;
13// Save resultant XPS document
14doc.Save(OutputDir + outputFileName);
Для Linux, MacOS и других операционных систем, отличных от Windows, мы предлагаем использовать наш пакет Nuget Aspose.Page.Drawing. Он использует серверную часть Aspose.Drawing вместо системной библиотеки System.Drawing.
В приведенном выше и последующих фрагментах кода вместо System.Drawing.FontStyle будет использоваться Aspose.Page.Drawing.FontStyle. Наши примеры кода на GitHub содержат все необходимые замены.
Типы графических структур, такие как System.Drawing.Point, System.Drawing.PointF, System.Drawing.Rectangle, System.Drawing.RectangleF и System.Drawing.Color, включены в системную библиотеку System.Drawing.Common даже при отсутствии ОС Windows, поэтому не заменяется.
Результат
Если вам нужно изменить направление слева направо на право налево, как в текстах на иврите или арабском языке, измените свойство BidiLevel, значение которого по умолчанию равно «0», то есть слева направо.
1glyphs.BidiLevel = 1;
1// Change direction of text from left-to-right to right-to-left, as in Hebrew or Arabic texts, in XPS document.
2
3// Create new XPS Document
4XpsDocument doc = new XpsDocument();
5
6string outputFileName = "AddTextRTL_out.xps";
7
8// Add Text
9XpsSolidColorBrush textFill = doc.CreateSolidColorBrush(Color.Black);
10XpsGlyphs glyphs = doc.AddGlyphs("Arial", 20, FontStyle.Regular, 400f, 200f, "TEN. rof SPX.esopsA");
11
12//Change direction of text from left-to-right to right-to-left
13glyphs.BidiLevel = 1;
14
15glyphs.Fill = textFill;
16// Save resultant XPS document
17doc.Save(OutputDir + outputFileName);
Результат
Вы можете загрузить примеры и файлы данных с сайта GitHub.