1
Я пытаюсь извлечь вращение PDF с TextRenderInfo, но я не знаю, как вычислить.Как извлечь ротацию
Я прочитал, что я могу рассчитывать с базовой линии, но я не знаю, как
Метод испытания
public void test(){
//Extract all the text of PDF
ArrayList<InfoText> arrayInfo = extractInfoText(reader, 1);
//I want to localize a variable that starts with @
InfoText info = null;
for (int i=0; i<arrayInfo.size();i++){
info = arrayInfo.get(i);
if (info.getInfo().getText().indexOf("@")!=-1){
break;
}
}
//Know I want to extract de fontsize and the rotation
//Font size
float size = renderInfo.getAscentLine().getStartPoint().get(1)- renderInfo.getDescentLine().getStartPoint().get(1);
//Rotation????
LineSegment line = info.getInfo().getBaseline();
LineSegment asc = info.getInfo().getAscentLine();
LineSegment desc = info.getInfo().getDescentLine();
}
Извлечение информации
public static ArrayList<InfoText> extractInfoText(PdfReader reader, int intPage) throws IOException {
logger.info("UtilesPDF extractText; IN");
logger.info("UtilesPDF.extractText Page {} ", intPage);
StringBuilder out = new StringBuilder();
ArrayList<InfoText> arrayInfo = new ArrayList<InfoText>();
RenderListener listener = new PdfTextRenderInfo(out, arrayInfo);
PdfContentStreamProcessor processor = new PdfContentStreamProcessor(listener);
PdfDictionary pageDic = reader.getPageN(intPage);
PdfDictionary resourcesDic = pageDic.getAsDict(PdfName.RESOURCES);
processor.processContent(ContentByteUtils.getContentBytesForPage(reader, intPage), resourcesDic);
logger.info("UtilesPDF.extractText Text Page lenght {} ", out.length());
logger.info("UtilesPDF.extractText Text Page arrayCharacters size {} ", arrayInfo.size());
logger.info("UtilesPDF.extractText; OUT");
return arrayInfo;
}
Кто-то знает?
Благодаря
И очевидное предупреждение: не делите на ноль. 'x1 == x2' не редко, учитывая, как часто используется поворот страницы на 90 °. – mkl
Спасибо, я попробую –