Я работаю с ITEXT 9.3.0 для .NET и должен заполнить поле формы PDF (PDFTextFormfield) с арабским текстом, а затем выравниваю его, чтобы текст стал постоянным. < /p>
Однако, когда я устанавливал арабский текст напрямую, буквы, не подходящие (не соединенные) после того, что вместо правильного съемного арабского арабского. Версия моего кода: < /p>
using var inputStream = new MemoryStream(templateBytes);
using var outputStream = new MemoryStream();
using var pdfReader = new iText.Kernel.Pdf.PdfReader(inputStream);
using var pdfWriter = new PdfWriter(outputStream);
using var pdfDoc = new iText.Kernel.Pdf.PdfDocument(pdfReader, pdfWriter);
var form = PdfAcroForm.GetAcroForm(pdfDoc, true);
using var layoutDoc = new Document(pdfDoc);
var field = form.GetField("arabicField");
try
{
if (IsArabicText(value.Value))
{
var fontFile = Path.Combine(_fontsDir, "Almarai-Regular.ttf");
//PdfFont pdfFont = PdfFontFactory.CreateFont(fontFile, PdfEncodings.IDENTITY_H, EmbeddingStrategy.FORCE_EMBEDDED);
// Set Arabic value
field.SetValue(value.Value);
// Align right for RTL
field.SetJustification(2); // right aligned
// Regenerate field appearance
}
else
{
field.SetValue(value.Value);
}
field.RegenerateField();
}
catch (Exception ex)
{
_logger.LogWarning(ex, "Failed to set text for field {FieldId}", value.Id);
}
form.FlattenFields();
layoutDoc.Close();
< /code>
** Что я попробовал
**
внедрить арабский шрифт (например, almarai, noto naskh arabic). < /p>
Установка поля. Setjustification (2) для правого выравнивания. < /p>
Calling Field. Form.SetNeDAppeArances (true).
Появляется текст, но арабские буквы не соединены и не появляются как отдельные глифы, когда -то сплющенные.
Что я хочу
Арабский текст, как «Выписываемое» и «Общая цена» и «Общая цена» и «Общая цена) Поле сплюснутой формы.
В идеале это должно работать так же, как статический арабский текст работает при добавлении через документ.>
Подробнее здесь: https://stackoverflow.com/questions/797 ... -net-so-it
Как правильно добавить арабский текст в поле акроформы в ITEXT 7/9 (.NET), чтобы он оставался правильным после сглаживан ⇐ C#
Место общения программистов C#
1757918237
Anonymous
Я работаю с ITEXT 9.3.0 для .NET и должен заполнить поле формы PDF (PDFTextFormfield) с арабским текстом, а затем выравниваю его, чтобы текст стал постоянным. < /p>
Однако, когда я устанавливал арабский текст напрямую, буквы, не подходящие (не соединенные) после того, что вместо правильного съемного арабского арабского. Версия моего кода: < /p>
using var inputStream = new MemoryStream(templateBytes);
using var outputStream = new MemoryStream();
using var pdfReader = new iText.Kernel.Pdf.PdfReader(inputStream);
using var pdfWriter = new PdfWriter(outputStream);
using var pdfDoc = new iText.Kernel.Pdf.PdfDocument(pdfReader, pdfWriter);
var form = PdfAcroForm.GetAcroForm(pdfDoc, true);
using var layoutDoc = new Document(pdfDoc);
var field = form.GetField("arabicField");
try
{
if (IsArabicText(value.Value))
{
var fontFile = Path.Combine(_fontsDir, "Almarai-Regular.ttf");
//PdfFont pdfFont = PdfFontFactory.CreateFont(fontFile, PdfEncodings.IDENTITY_H, EmbeddingStrategy.FORCE_EMBEDDED);
// Set Arabic value
field.SetValue(value.Value);
// Align right for RTL
field.SetJustification(2); // right aligned
// Regenerate field appearance
}
else
{
field.SetValue(value.Value);
}
field.RegenerateField();
}
catch (Exception ex)
{
_logger.LogWarning(ex, "Failed to set text for field {FieldId}", value.Id);
}
form.FlattenFields();
layoutDoc.Close();
< /code>
** Что я попробовал
**
внедрить арабский шрифт (например, almarai, noto naskh arabic). < /p>
Установка поля. Setjustification (2) для правого выравнивания. < /p>
Calling Field. Form.SetNeDAppeArances (true).
Появляется текст, но арабские буквы не соединены и не появляются как отдельные глифы, когда -то сплющенные.
[b] Что я хочу [/b]
Арабский текст, как «Выписываемое» и «Общая цена» и «Общая цена» и «Общая цена) Поле сплюснутой формы.
В идеале это должно работать так же, как статический арабский текст работает при добавлении через документ.>
Подробнее здесь: [url]https://stackoverflow.com/questions/79764797/how-to-correctly-add-arabic-text-to-an-acroform-field-in-itext-7-9-net-so-it[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия