Итак, я читаю несколько существующих PDF-файлов и хочу объединить текст из 2 PDF-файлов на одну новую страницу.
Я хочу разместить 2-ю pdf-страницу только на пару строк ниже исходного текста из первого pdf-файла. Таким образом, оба новых текста появляются рядом друг с другом в новом файле PDF.
В настоящее время у меня есть это, чтобы занять место в PDF.
public class TextMeasurementListener : IEventListener
{
private float space = 0.0f;
public void EventOccurred(IEventData data, EventType type)
{
if (type != EventType.RENDER_TEXT)
return;
TextRenderInfo textRenderInfo = (TextRenderInfo)data;
var renderInfos = textRenderInfo.GetCharacterRenderInfos();
foreach (var charInfo in renderInfos)
{
CharacterRenderInfo characterRenderInfo = new CharacterRenderInfo(charInfo);
space += characterRenderInfo.GetBoundingBox().GetWidth() * characterRenderInfo.GetBoundingBox().GetHeight();
}
}
public float GetReservedSpaceInPoints()
{
return space;
}
ICollection<EventType> IEventListener.GetSupportedEvents()
{
//throw new NotImplementedException();
return null;
}
}
Используя это, я затем помещаю текст из этого pdf на новый, как этот
canvas.AddXObject(pageCopy, 0, -400);
-400 - это середина нового pdf, но мне нужен более точный способ сделать это .. GetReservedSpaceInPoints может вернуть 78000 для большого абзаца, но я хочу расположить последующий pdf вскоре после этого ... но как могу ли я надежно связать 78000 с координатой Y на странице?
Спасибо