Я добавляю/заменяю некоторые номера страниц на странице содержимого существующего PDF, но текст выделяется полужирным шрифтом или грубым. Это не так, и я не могу это исправить!Текст, добавленный в PDF, выделен жирным шрифтом/грубо
Это то, что я имею в виду:
Цифры справа являются существующие номера страниц я замещающие и текст хорошо. Числа слева - это номера страниц, которые я добавил с помощью iText в Java.
Вот код:
private static void fixTOCPageNumbers(int i, PdfContentByte content, List<Section> sections)
throws DocumentException, IOException {
int xPositionRec;
int yPositionRec;
int xPositionText;
int yPositionText;
int xOffset = 0;
int yOffset = 0;
content.saveState();
content.setColorStroke(new Color(77,77,77));
content.beginText();
content.setFontAndSize(BaseFont.createFont("fonts/LTe50327.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED), 10f);
int count = 5;
for(int j = 4; j <= sections.size() - 2; j++)
{
int startPageIndex = sections.get(j).GetStartPageIndex();
int endPageIndex = sections.get(j).GetEndPageIndex();
xPositionRec = 281;
yPositionRec = 385;
xPositionText = 266;
yPositionText = 386;
if(j > 6)
{
yPositionRec = 195;
yPositionText = 196;
}
for(int k = startPageIndex; k <= endPageIndex; k++)
{
content.rectangle(xPositionRec+xOffset,yPositionRec-yOffset,12,12);
content.setRGBColorFill(255,255,255);
content.showTextAligned(PdfContentByte.ALIGN_CENTER, String.format("%d", count), xPositionText+xOffset, yPositionText-yOffset, 0);
content.setRGBColorFill(77,77,77);
//content.fillStroke();
yOffset += 18;
count++;
}
yOffset = 0;
if(j > 6)
{
xOffset += 229;
}
else if(j == 6)
{
xOffset = 0;
}
else
{
xOffset += 230;
}
}
xOffset = 0;
yOffset = 0;
content.restoreState();
content.endText();
}
я делаю что-то не так? Это первый раз, когда я использовал iText, а база кода изначально не была моей.
Любая помощь была бы высоко оценена!
Просмотрите LTe50327.ttf, что у вас есть FRUTIGER шрифт с не жирным шрифтом на нем. – icrovett
Этот шрифт используется в другом месте программы, и он получается отлично! –
Я думаю, что это должно быть что-то с 'setColorStroke (новый цвет (77,77,77));' строка, может быть, вы должны попытаться удалить ее из 'PdfContentByte' ... просто догадка, но я думаю он меняет интенсивность, вы можете попробовать что-то вроде 'setColorStroke (Color.Black);' – icrovett