Как я могу получить позиции X и Y слова на определенной странице и в определенной строке PDF-файла с помощью itextsharp?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу получить позиции X и Y слова на определенной странице и в определенной строке PDF-файла с помощью itextsharp?

Сообщение Anonymous »

У меня есть документация в формате PDF, в которой описаны сотни параметров ЧПУ. У меня есть код C#
, в котором я
  • нахожу слово определения соответствующего параметра и правильный номер страницы
  • вызовите метод с этими двумя параметрами и получите позиции X,Y
  • затем добавьте названные пункты назначения в соответствии с этими позициями.
В целом все работает нормально. Но моя проблема - это часть 2). С моими текущими знаниями я могу просто передать номер страницы и имя параметра для поиска по позициям X и Y. Но когда на связанной странице есть еще одна строка с тем же словом, мой код всегда находит первую и получает ее позиции X,Y. Как я могу улучшить свой код, получая позицию имени параметра только в определенной строке?
Мой текущий код:

Код: Выделить всё

    public void get_position_of_string_in_PDF(string sys_var_definition ,Int32 page_no , out float X_Pos, out float Y_Pos )
{
using (var reader = new PdfReader(@"C:\inetpub\wmi_asp\wwwroot\files\MTX\MacodaV14.pdf"))
{
var parser = new PdfReaderContentParser(reader);
var strategy = parser.ProcessContent(page_no, new LocationTextExtractionStrategyWithPosition());
var res = strategy.GetLocations();
reader.Close();
var searchResult = res.Where(p => p.Text.Contains(sys_var_definition)).OrderBy(p => p.Y).Reverse().ToList();
X_Pos = searchResult[0].X;
Y_Pos = searchResult[0].Y+50;

Sys_VAR_dest_name_Pos_X_array.Add(X_Pos);
Sys_VAR_dest_name_Pos_Y_array.Add(Y_Pos);

}
}
Я хочу расширить метод с помощью «номер строки». Таким образом, определение метода будет следующим:

Код: Выделить всё

   public void get_position_of_string_in_PDF(string sys_var_definition ,Int32 page_no , int line_no, out float X_Pos, out float Y_Pos )
Я знаю, что itextsharp немного устарел, но в настоящее время я использую его во многих местах своего проекта, поэтому не могу изменить его немедленно.

Подробнее здесь: https://stackoverflow.com/questions/786 ... cific-line
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»