PDA

View Full Version : فایل pdf (جستجو و اضافه کردن کنترل سفارشی)



siyavash_ghanbari
یک شنبه 08 فروردین 1389, 22:01 عصر
سلام.
چند تا سوال داشتم !
1- چطور می تونم یک رشته رو درون pdf جستجو کنم ؟ (اگه یک مثال باشه خیلی بهتره)
2- آیا میشه pdf ی رو تولید کرد که علاوه بر کنترل های استاندارد (texbox و ...) کنترل هاس سفارشی که خودمون تولید می کنیم رو به یک صفحه pdf اضافه کنیم ؟

sia_2007
دوشنبه 09 فروردین 1389, 00:29 صبح
ببین تمام فایلها از هر جنسی که باشند بالاخره باینری هستند و هیچی نیستند جز صفر و یک.
شما باید بتونی مفهوم نحوه ی چینش صفر و یک ها در PDF رو به دست بیاری.
راه حل دیگه ای که من به نظرم میرسه اینه که بری از خود شرکت Adobe کمک بگیری.
مثلا من خودم برای Full Text Search فایلهایی مانند DOC و PDF و TXT و فایل های متنی دیگه از SQL Server کمک گرفتم، و DLL ای که PDF رو به Full Text Search میشناسوند رو از Adobe گرفتم
فکر کنم یک چیزی تو مایه های iFilter 6
البته من نمیگم از Full Text Search استفاده کنی، چون فایدش اینی نیست که میخوای.
ولی اولین نفری هم نیستی که میخوای داخل فایل های PDF رو بگردی
به نظر من یه جا مثل StackOverFlow سوال کن و بگو I'm between rock and hard place و ... و انشاا... که مشکلت حل میشه.
مطمئن باش ساده تر از اونی هست که فکرش رو کنی
---
در مورد دومی هم انشاا... که میشه.
وقتی نوشتیش با قیمت گزافی بفروشش :چشمک:
نظر من رو میخوای رو همون اولی کار کن، اگه وقت اظافه آوردی برو رو دومی
قدم به قدم
من هم هستم
منتظرم

Amir Oveisi
دوشنبه 09 فروردین 1389, 01:41 صبح
از کتابخانه iTextSharp (http://sourceforge.net/projects/itextsharp/) استفاده کنید. رایگان هست.

دومی رو نمی دونم تا چه حد ساپورت می کنه.

موفق باشید.

homan1374
دوشنبه 09 فروردین 1389, 10:11 صبح
با سلام
منم یه سوال داشتم حیفم اومد تاپیک بزنم
تو #C چه طوری فایل های PDf رو میخونن ؟؟؟

AliRezaPro
دوشنبه 09 فروردین 1389, 15:35 عصر
این ماژول برای جستجوی استرینگ در فایل PDF است.برای اجرای این ماژول Adobe Professional لازم هست.


using Acrobat;
using AFORMAUTLib;
private void pdfRandD(string fPath)
{
AcroPDDocClass objPages = new AcroPDDocClass();
objPages.Open(fPath);
long TotalPDFPages = objPages.GetNumPages();
objPages.Close();
AcroAVDocClass avDoc = new AcroAVDocClass();
avDoc.Open(fPath, "Title");
IAFormApp formApp = new AFormAppClass();
IFields myFields = (IFields)formApp.Fields;
string searchWord = "Search String";
string k = "";
StreamWriter sw = new StreamWriter(@"D:\KCG_FileChecker_Inputs\MAC\pdf\0230_525490_23_c ha17.txt", false);
for (int p = 0; p < TotalPDFPages; p++)
{
int numWords = int.Parse(myFields.ExecuteThisJavascript("event.value=this.getPageNumWords(" + p + ");"));
k = "";
for (int i = 0; i < numWords; i++)
{
string chkWord = myFields.ExecuteThisJavascript("event.value=this.getPageNthWord(" + p + "," + i + ", true);");
k = k + " " + chkWord;
}
if(k.Trim().Contains(searchWord))
{
int pNum = int.Parse(myFields.ExecuteThisJavascript("event.value=this.getPageLabel(" + p + ",true);"));
sw.WriteLine("The Word " + searchWord + " is exists in " + pNum);
}
}
sw.Close();
MessageBox.Show("Process completed");
}
یک راه ساده هم وجود داره که استفاده از PDFKit.net است .به سایت زیر نگاهی بکنید و اینک شما میتونید بسیاری سمپل کد هم برا اون پیدا کنید.

http://www.tallcomponents.com/اینجا رو هم نگاه کنید

http://www.adobe.com/devnet/pdf/pdf_reference.htmlیک راه دیگه ایی هم وجود داره که من شما را به این صفحه ازجاء میدم

http://www.codeproject.com/KB/cs/PDFToText.aspxو اینکه iTextSharp رو جدی تر بگیرید.

http://itextsharp.sourceforge.net/--------------------------------------------------------------------------

تو C#‎‎ چه طوری فایل های PDf رو میخونن ؟؟؟ منظورتون از خوندن چیه؟اگر می خواهید در فرم و برنامه ی خود فایل PDF را بخوانید با همین کتابخانه ایی که معرفی کردم به راحتی مشکل شما حل میشه
واقعا سمپل های زیادی وجود داره.این کتابخانه حاوی کلاس هایی برای تولید کردن Portable Document Format (PDF) است.
برای دانلود به اینجا بروید

http://sourceforge.net/projects/itext/files/