Я устанавливаю разницу для pdf и проверяю, превышает ли содержимое страницы предел.Получить крайнее правое, левое, верхнее, нижнее положение изображения - Itext
Я легко могу это сделать, если содержимое страницы - это просто текст.
Вот то, что я делаю:
Я использую TextMarginFinder
. Я буду установитьleft margin
значения pdf на основе размера книги. и проверьте с помощью finder.getLlx();
, так как finder.getLlx();
доставит мне самое левое положение текста на этой странице.
TextMarginFinder finder;
if(leftmar>=finder.getLlx())
{
errormargin=1; //left margin error
System.out.println("Page: "+i+"Margin Error:LeftMArginError ");
}
Но это не работает в случае, если на странице есть изображение. Хотя изображение выходит за пределы поля, я не получаю ошибку с указанным выше кодом, так как функция finder.getLlx();
работает только для текстов.
Два вопроса:
1) В то время как цикл по страницам в формате PDF, если есть изображение на этой странице, как я могу проверить, если эта конкретная страница содержит изображение?
2) Если у него есть изображение, как я могу получить его крайние положения?
Update после mkl
предложение
if(leftmar>=finder.getLlx())
{
errormargin=1; //left margin error
System.out.println("finder.getLlx() value ="+finder.getLlx()+", leftmar Value="+leftmar);
}
if(rightmar<= finder.getUrx()){
errormargin=1; //right margin error
System.out.println("finder.getUrx() value ="+finder.getUrx()+", rightmar Value="+rightmar);
}
if(margintop >= finder.getUry()){
errormargin=3; //top margin error
System.out.println("finder.getUry() value ="+finder.getUry()+", margintop Value="+margintop);
}
if(marginbottom >= finder.getLly()){
errormargin=3; //bottom margin error
System.out.println("finder.getLly() value ="+finder.getLly()+", marginbottom Value="+marginbottom);
}
По существу, вы хотите, чтобы изображение было ограничено положением (то есть не расширялось над ним), или вы хотите, чтобы флаг поднимался, когда кто-то переходил (чтобы вы могли совершить какое-либо действие)? – insidesin
Точно это мое ограничение. – Abhinav
* Я использую 'TextMarginFinder' * - рассмотрю использование [MarginFinder] (https://github.com/mkl-public/testarea-itext5/blob/master/src/main/java/mkl/testarea/itext5/content/ MarginFinder.java) вместо этого, класс, используемый в [этом ответе] (http://stackoverflow.com/a/20212172/1729265). Этот класс также рассматривает растровые изображения и векторную графику; для последних они находятся в состоянии доказательной концепции. – mkl