Hi
Hi Prabhaker,
Thanks for your inquiry. I am afraid there is no direct option to change Header text font. However you may try to search text in specific page region and change the font as following. Hopefully it will help you to accomplish the task.
//Load existing PDF Document
Document pdf = new Document("input.pdf");
//Search text fragments and set edit option as remove unused fonts
TextFragmentAbsorber absorber = new TextFragmentAbsorber(new TextEditOptions(TextEditOptions.FontReplace.RemoveUnusedFonts));
absorber.getTextSearchOptions().setLimitToPageBounds(true);
absorber.getTextSearchOptions().setRectangle(new com.aspose.pdf.Rectangle(100, 200, 250, 350));
//accept the absorber for all the pages
pdf.getPages().accept(absorber);
//traverse through all the TextFragments`TextFragmentCollection` textFragmentCollection = absorber.getTextFragments();
for (Iterator<TextFragment> iterator = textFragmentCollection.iterator(); iterator.hasNext();) {
TextFragment textFragment = iterator.next();
String fontName = textFragment.getTextState().getFont().getFontName();
// if the font name is ArialMT, replace font name with Arial
if (fontName.equals("ArialMT")) {
textFragment.getTextState().setFont(FontRepository.findFont("Arial"));
}
}
//Save the updated document
pdf.save("output.pdf");
Please feel free to contact us for any further assistance.
Best Regards,
Hi Tilal,
Hi Prabhaker,
Hi Tilal,
Hi Prabhaker,
Thanks for your inquiry. As suggested above you can get text of specific location using TextFragmentAbsorber
and change the font of TextFragment
. Please check following code and sample input/output PDF document.
//Load existing PDF Document
Document pdf = new Document(myDir+"HeaderFooterTest1.pdf");
//Search text fragments and set edit option as remove unused fonts
TextFragmentAbsorber absorber = new
TextFragmentAbsorber(new TextEditOptions(TextEditOptions.FontReplace.RemoveUnusedFonts));
absorber.getTextSearchOptions().setLimitToPageBounds(true);
absorber.getTextSearchOptions().setRectangle(
new com.aspose.pdf.Rectangle(72*3, 72*10.69, 72*5, 72*10.69+20));
//accept the absorber for all the pages
pdf.getPages().accept(absorber);
//traverse through all the TextFragments
TextFragmentCollection textFragmentCollection = absorber.getTextFragments();
for(Iterator<TextFragment> iterator = textFragmentCollection.iterator(); iterator.hasNext();) {
TextFragment textFragment = iterator.next();
// String fontName = textFragment.getTextState().getFont().getFontName();
// if the font name is ArialMT, replace font name with Arial
// if (fontName.equals("ArialMT"))
{
textFragment.getTextState().setFont(FontRepository.findFont("Calibri"));
textFragment.getTextState().setFontStyle(com.aspose.pdf.FontStyles.Bold);
}
}
//Save the updated document
pdf.save(myDir+"output_fontchange.pdf");
Please feel free to contact us for any further assistance.
Best Regards,
Hi Tilal,
Hi Prabhaker,
Hi Prabhaker,