Есть несколько способов показать (визуально) один и тот же контент в PDF. Вы можете добавить текстовый глиф по глифу или целым предложениям. TextRegionEventFilter
не разбивает большие куски текста на более мелкие перед фильтрацией. Если текст был написан большими блоками, и вам нужна только его часть, необработанный контент необходимо предварительно обработать, то есть разделить на более мелкие куски.
К счастью, iText предоставляет готовый способ сделать это - класс называется GlyphTextEventListener
, и он может быть связан с другими ITextExtractionStrategy
экземплярами. Просто поместите слушателя в ITextExtractionStrategy
следующим образом:
TextRegionEventFilter filter = new TextRegionEventFilter(new Rectangle(x1, y1, x2, y2));
ITextExtractionStrategy filteredListener = new FilteredTextEventListener(new LocationTextExtractionStrategy(), filter);
ITextExtractionStrategy fineGrainedListener = new GlyphTextEventListener(filteredListener);
new PdfCanvasProcessor(fineGrainedListener).processPageContent(page);