Я пытаюсь реализовать программу, которая позволяет пользователю вводить значение, выполнять поиск в PDF-файле, а затем прокручивать и увеличивать масштаб, если текст найден. Я хочу, чтобы все это происходило внутри моего приложения, без отдельного открытия программного обеспечения в формате PDF. У меня проблемы с этим. Самое близкое, что я получил на данный момент, - это отображение PDF-файла на панели, я могу найти текст и увеличить масштаб. Но, похоже, я изо всех сил пытаюсь найти правильные координаты и прокрутить до них. В настоящее время я использую PdfiumViewer и Itext7. Я готов использовать любую библиотеку, способную сделать это.
private RectangleF FindTextPosition(string pdfPath, string searchText)
{
using (PdfReader reader = new PdfReader(pdfPath))
using (iText.Kernel.Pdf.PdfDocument pdfDoc = new iText.Kernel.Pdf.PdfDocument(reader))
{
var strategy = new LocationTextExtractionStrategy();
for (int i = 1; i = 0)
{
foundText = true;
return new RectangleF(location.Rectangle.Left, location.Rectangle.Right, location.Rectangle.Width, location.Rectangle.Height );
}
}
}
}
return RectangleF.Empty;
}
private void button3_Click(object sender, EventArgs e) //search button
{
string searchText = textBox1.Text;
RectangleF position = FindTextPosition(pdfPath, searchText);
if (foundText == true)
{
PdfRectangle pdfRect = ConvertToPdfRectangle(position);
viewer.Zoom = 4.0f;
viewer.ScrollIntoView(pdfRect);
System.Windows.Forms.MessageBox.Show(position.ToString());
}
else
{
}
}
Подробнее здесь: https://stackoverflow.com/questions/789 ... -a-windows