PDA

View Full Version : نحوه جستجو در فایل pdf و برگرداندن شماره صفحه حاوی این متن



mohammadsoltani
چهارشنبه 03 خرداد 1396, 19:17 عصر
نحوه جستجو یک متن در فایل pdf و برگرداندن شماره صفحه حاوی این متن در سی شارپ چگونه است؟

Mag-Mag
پنج شنبه 04 خرداد 1396, 09:17 صبح
سلام
dll
itextsharp (https://sourceforge.net/projects/itextsharp/) رو به پرژتون ادد کنید و از این تابع استفاده کنید


public List<int> ReadPdfFile(string fileName, String searthText)
{
List<int> pages = new List<int>();
if (File.Exists(fileName))
{
PdfReader pdfReader = new PdfReader(fileName);
for (int page = 1; page <= pdfReader.NumberOfPages; page++)
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();


string currentPageText = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy);
if (currentPageText.Contains(searthText))
{
pages.Add(page);
}
}
pdfReader.Close();
}
return pages;
}

mohammadsoltani
پنج شنبه 04 خرداد 1396, 14:23 عصر
من این کتابخانه را به پروژم اضافه کردم ولی کلاس های ITextExtractionStrategy و PdfTextExtractor را نمی شناسد.لطفا راهنمایی کنید.

Mag-Mag
شنبه 06 خرداد 1396, 08:18 صبح
اینها رو به بالای صفحه اضافه کن


using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;

mohammadsoltani
شنبه 06 خرداد 1396, 09:17 صبح
ببخشید وقتی کتابخانه itextsharp (https://sourceforge.net/projects/itextsharp/) را به برنامه سی شارپی اضافه می کنم کلاس usingiTextSharp.text.pdf.parser; را نمی فهمد میشه بی زحمت فایل dll کتابخانه که سالم باشد را برام بفرستید.

Mag-Mag
شنبه 06 خرداد 1396, 10:11 صبح
سلام ، این dll هست که من استفاده میکنم
از این لینک (http://s8.picofile.com/file/8296043634/iTextSharp.rar.html) بگیر

mohammadsoltani
شنبه 06 خرداد 1396, 10:40 صبح
حال که فهمیدم که این کلمه در کدام صفحه pdf است،حال چگونه می توان صفحه فلان شماره از pdf را فقط توسط چاپگر چاپ کرد؟

mohammadsoltani
شنبه 06 خرداد 1396, 16:13 عصر
میشه با کنترل ویزاردی PrintPreviewDialog این کار را کرد؟اگه کسی بلده راهنمایی کنه

minaalamshahi
چهارشنبه 24 آبان 1396, 11:45 صبح
با سلام
من از این روش استفاده می کنم ولی متن بعضی از فایلها رو به صورت زیر میخونه




 :  



         !
"# $%& 
 '(& (( » * « , . ./ #& 
0 .( 12  '13  33 4 * .564 7
[1]
. '4 4 289 :;0 4 *  /<=
' 
&  '76 7
[2]
. > ( ./ .( 
[3]
?4  
[4]

رامین مرادی
چهارشنبه 24 آبان 1396, 15:37 عصر
با سلام
من از این روش استفاده می کنم ولی متن بعضی از فایلها رو به صورت زیر میخونه




:



!
"# $%&
'(& (( » * « , . ./ #&
0 .( 12 '13 33 4 * .564 7
[1]
. '4 4 289 :;0 4 * /<=
'
& '76 7
[2]
. > ( ./ .(
[3]
?4
[4]




به احتمال زیاد مشکل از زبان فارسی هست. کامپوننت spire رو هم چک کنید. نسخه رایگان داره اما فک کنم تا 25 پاراگراف رو ساپورت میکنه