Intereting Posts
В Google Play я могу перенести приложение из одной учетной записи разработчика в другую? Android: добавьте просмотр с анимацией расширения (без мигания) Как нарисовать гладкий градиент на холсте в Android Получить токен доступа для моего приложения из GoogleApiClient в Android Создайте проект Android в командной строке OSX: Task 'assembleDebug' не найден в корневом проекте API для получения свойств системы Android удаляется на платформах arm64 Какое намерение должно открыть экран использования данных (из настроек) Как изменить непрозрачность растрового изображения? Как зашифровать файл с SD-карты с помощью AES на Android? Как я могу узнать, какая область изображения (а не только координаты) была затронута в Android? Android: изменение размера фонового изображения на клавиатуре Не удается выполнить запросFocus Spinner Загрузка многостраничного файла с помощью библиотеки Koush Ion Android – использование FLAG_ACTIVITY_NEW_TASK BroadcastReceiver с несколькими фильтрами или несколькими BroadcastReceivers?

Библиотека XFinium PDF для мобильных устройств: как получить высоту обернутого текста

Мы используем библиотеку XFinium PDF для создания PDF-документа с мобильного устройства. Мы используем пример кода для написания обернутого текста, как показано ниже:

PdfStringAppearanceOptions sao = new PdfStringAppearanceOptions(); sao.Brush = brush; sao.Font = helvetica; // Height is not set, text has no vertical limit. PdfStringLayoutOptions slo = new PdfStringLayoutOptions(); slo.HorizontalAlign = PdfStringHorizontalAlign.Justified; slo.VerticalAlign = PdfStringVerticalAlign.Top; slo.X = 20; slo.Y = 70; slo.Width = 280; string text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " + "Sed vel euismod risus. Fusce viverra, nisi auctor ullamcorper porttitor, " + "ipsum lacus lobortis metus, sit amet dictum lacus velit nec diam. " + "Morbi arcu diam, euismod a auctor nec, aliquam in lectus." + "Ut ultricies iaculis augue sit amet adipiscing. Aenean blandit tortor a nisi " + "dignissim fermentum id adipiscing mauris. Aenean libero turpis, varius nec ultricies " + "faucibus, pretium quis lectus. Morbi mollis lorem vel erat condimentum mattis mollis " + "nulla sollicitudin. Nunc ut massa id felis laoreet feugiat eget at eros."; page.Graphics.DrawString(text, sao, slo); 

Однако, как мы рисуем другую строку ниже этого, если мы не знаем, что будет следующей координатой y? Есть ли способ вычислить высоту существующего текста или способ узнать, какая последующая доступная координата y будет?

Благодарю.

Класс Xfinium.Pdf.Graphics.Text.PdfTextEngine включает статический метод GetStringHeight (строка s, шрифт PdfFont, двойная ширина). Пропустите строку, которую вы хотите нарисовать, шрифт, используемый для рисования строки и ширины, где текст будет обернут, и метод вернет высоту обернутого текста.
Для вашего фрагмента кода вызов выглядит следующим образом:

 double textHeight = PdfTextEngine.GetStringHeight(text, helvetica, slo.Width); 

Отказ от ответственности: я работаю в компании, которая разрабатывает библиотеку XFINIUM.PDF.