المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : البحث في ملف pdf من داخل التجميعة


عبد الهادي بهاب
15-08-2016, 08:43 PM
السلام عليكم ورحمة الله وبركاته
من خلال الاوتوبلاي يمكن ان نبحث عن كلمة داخل ملف txt او ملف rtf
فهل يمكننا ان نبحث عن كلمة في ملف pdf
من حيث ان اكواد لا تتيح البحث ؟؟

محمد سامر
15-08-2016, 09:05 PM
السلام عليكم ورحمة الله وبركاته
من خلال الاوتوبلاي يمكن ان نبحث عن كلمة داخل ملف txt او ملف rtf
فهل يمكننا ان نبحث عن كلمة في ملف pdf
من حيث ان اكواد لا تتيح البحث ؟؟

السلام عليكم أخي ... دائما مواضيعك تعتبر ...لها تكات فنية من نوع خاص...._____""تكات فنية""معناها ""دقيقه من نوع خاص""
فملف pdf يتيح لك البحث عن أي كلمة موجوده فيه من خلال قائمته الرئيسية..فهل تقصد ذلك
أو تقصد"" زر"" بالضغط عليه يبحث عن أي كلمه فيه...
إن كان الأول فهذه خاصيه موجوده في برنامج pdf
أما الثانية ف...................أأتي بجوارك وأنتظر الفنيين...:abc_152:

عبد الهادي بهاب
15-08-2016, 09:59 PM
السلام عليكم أخي ... دائما مواضيعك تعتبر ...لها تكات فنية من نوع خاص...._____""تكات فنية""معناها ""دقيقه من نوع خاص""
فملف pdf يتيح لك البحث عن أي كلمة موجوده فيه من خلال قائمته الرئيسية..فهل تقصد ذلك
أو تقصد"" زر"" بالضغط عليه يبحث عن أي كلمه فيه...
إن كان الأول فهذه خاصيه موجوده في برنامج pdf
أما الثانية ف...................أأتي بجوارك وأنتظر الفنيين...:abc_152:

هههههههههه
الثانية يا دكتور .........طبعا خاصية البحث في pdf خاصة به تتيح فقط ايجاد الكلمة في نفس الملف
فرضا عندي 100 ملف pdf نريد ان نبحث فيهم كلهم على كلمة مثلا ( الله ) والناتج يظهر في ليسبوكس
في انتظار الحل بالنفي و الايجاب
نظل نبحث هنا و هناك

من باب المعلومة هناك برامج تقوم بالدور هذا من بينها برنامج Multiformat File Searcher
فلعنا نعرف سره ...

محمد سامر
15-08-2016, 10:43 PM
كنت أعرف 100% أنها الثانية..... أستاذي... أكيد لا يسأل على حاجه موجووووووووده..
النقطه التي طرحتها مهمه جداااااااااااااااا ..وتستحق الإهتمام..

عبد الهادي بهاب
15-08-2016, 11:04 PM
كنت أعرف 100% أنها الثانية..... أستاذي... أكيد لا يسأل على حاجه موجووووووووده..
النقطه التي طرحتها مهمه جداااااااااااااااا ..وتستحق الإهتمام..

من باب الانطلاق ...لنجعل الاوتوبلاي يفتح كل الملفات في مكان ما و لنقل صفحة ثانية
و لنجعل كلمة البحث تكتب في خانة البحث الخاصة بالوتوبلاي ( كيف ؟؟؟؟؟؟؟؟؟؟؟ )
ثم نجعل الماووس تتجه فورا الى زر البحث و تضغط عليه و هذه ممكنة نظريا طبعا ( كيف ؟؟؟؟؟؟؟؟؟)

خيط اخر ممكن نخرب في ملفات الاكروبات و نبحث من المف لمسؤول عن البحث كملف dll و نزرعه في ملفات الاوتوبلاي


كما يمكن الاستئناس بالبرمجو بلغة c++ والتي لا اعرف منها حرفا واحدا لكن فيه مقالات مثيرة للاهتمام لمن يحسن اعادة صياغة الاكواد بلغة الاوتبلاي اوlua


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;
}


او هذا


using System;
using System.IO;
using QuickPDFDLL0718;

namespace QPLConsoleApp
{
public class QPL
{
public static void Main()
{
// This example uses the DLL edition of Quick PDF Library
// Create an instance of the class and give it the path to the DLL
PDFLibrary QP = new PDFLibrary("QuickPDFDLL0718.dll");

// Check if the DLL was loaded successfully
if (QP.LibraryLoaded())
{
// Insert license key here / Check the license key
if (QP.UnlockKey("...") == 1)
{
QP.LoadFromFile(@"C:\Program Files\Quick PDF Library\DLL\GettingStarted.pdf");

int iPageCount = QP.PageCount();
int PageNumber = 1;
int MatchesFound = 0;

while (PageNumber <= iPageCount)
{
QP.SelectPage(PageNumber);
string PageText = QP.GetPageText(3);

using (StreamWriter TempFile = new StreamWriter(QP.GetTempPath() + "temp" +
PageNumber + ".txt"))
{
TempFile.Write(PageText);
}

string[] lines = File.ReadAllLines(QP.GetTempPath() + "temp" + PageNumber + ".txt");
string[][] grid = new string[lines.Length][];

for (int i = 0; i < lines.Length; i++)
{
grid[i] = lines[i].Split(',');
}

foreach (string[] line in grid)
{
string FindMatch = line[11];

// Update this string to the word that you're searching for.
// It can be one or more words (i.e. "sunday" or "last sunday".

if (FindMatch.Contains("characters"))
{
Console.WriteLine("Success! Word match found on page: " + PageNumber);
MatchesFound++;
}
}
PageNumber++;
}

if (MatchesFound == 0)
{
Console.WriteLine("Sorry! No matches found.");
}
else
{
Console.WriteLine();
Console.WriteLine("Total: " + MatchesFound + " matches found!");
}
Console.ReadLine();
}
}
}
}
}




Option Compare DatabaseOption Explicit

Dim gApp As Object Sub AcrobatFindText()'IAC objectsDim gAvDoc As Object

'variablesDim Resp 'For message box responsesDim gPDFPath As String

Dim sText As String 'String to search forDim sStr As String 'Message stringDim foundText As Integer 'Holds return value from "FindText" method 'hard coding for a PDF to open, it can be changed when needed.gPDFPath = "C:\mydocument.pdf" 'Initialize Acrobat by creating App objectSet gApp = CreateObject("AcroExch.App")gApp.Hide 'Set AVDoc objectSet gAvDoc = CreateObject("AcroExch.AVDoc") ' open the PDFIf gAvDoc.Open(gPDFPath, "") ThensText = "factory"'FindText params: StringToSearchFor, caseSensitive (1 or 0), WholeWords (1 or 0), ResetSearchToBeginOfDocument (1 or 0)foundText = gAvDoc.FindText(sText, 1, 0, 1) 'Returns -1 if found, 0 otherwise Else' if failed, show error messageResp = MsgBox("Cannot open" & gPDFPath, vbOKOnly)End If

If foundText = -1 Then

'compose a messagesStr = "Found " & sTextResp = MsgBox(sStr, vbOKOnly)Else' if failed, show error messageResp = MsgBox("Cannot find" & sText, vbOKOnly)End If

gApp.Show

gAvDoc.BringToFront

End Sub

Sub AcrobatPageCount()

Dim Resp

'IAC objectsDim gPDDoc As ObjectDim gAvDoc As Object 'variablesDim gPDFPath As String

Dim rc As Boolean

Dim sStr As String

Dim sName As String

Dim lNum As Integer

'hard coding for a PDF to open, it can be changed when needed.gPDFPath = "C:\mydocument.pdf" 'Initialize Acrobat by creating App objectSet gApp = CreateObject("AcroExch.App")gApp.Hide

'Set AVDoc objectSet gAvDoc = CreateObject("AcroExch.AVDoc") ' open the PDFIf gAvDoc.Open(gPDFPath, "") Then 'Set PDDoc object and get some dataSet gPDDoc = gAvDoc.GetPDDoc()lNum = gPDDoc.GetNumPages()sName = gPDDoc.GetFileName() 'compose a messagesStr = "PDF file " & sName & " is loaded in Acrobat through IAC program." & vbCrLf & "The PDF document has " & lNum & " pages." & vbCrLf & "The program is over."Resp = MsgBox(sStr, vbOKOnly)

Else

' if failed, show error messageResp = MsgBox("Cannot open " & gPDFPath & vbCrLf & "The program is over.", vbOKOnly)End If'I have tried various combinations of the lines below and earlier in the routine to get the application to close and/or hide in a predictable way. But no luck.'gApp.ShowgAvDoc.Close (1)'gApp.ExitgApp.Minimize (1)

'gApp.ShowEnd Sub

'Create a custom toolbarSub Auto_Open() 'Runs automatically when the file is openedDim MyToolbar As CommandBarDim MyButton As CommandBarButtonDim MyToolbarName As StringDim Resp

'Give the toolbar a nameMyToolbarName = "PDFtools" ' First, delete the toolbar if it already existsOn Error Resume Next ' so that it doesn't stop on the next line if the toolbar does not existCommandBars(MyToolbarName).Delete ' Build the command barOn Error Resume Next ' so that it doesn't stop on the next line if the toolbar's already thereSet MyToolbar = CommandBars.Add(Name:=MyToolbarName, Position:=msoBarTop) On Error GoTo ErrorHandler

' Add a button to the new toolbarSet MyButton = MyToolbar.Controls.Add(Type:=msoControlButton)

' MsoButtonStyle constants can be any one of:'msoButtonAutomatic'msoButtonIcon (Button displays Icon only)'msoButtonCaption (Button displays text only)'msoButtonIconAndCaption'msoButtonIconAndCapt ionBelow'msoButtonIconAndWrapCaption'msoButtonIcon AndWrapCaptionBelow'msoButtonWrapCaption (Read/write Long) ' Set some of the button's propertiesWith MyButton.TooltipText = "Open PDF and find text" 'Tooltip text when mouse is placed over button.Caption = "PDF Find Text" 'Text to be displayed on button.OnAction = "AcrobatFindText" 'Name of routine to run when clicked.Style = msoButtonCaption 'Make button display text onlyEnd With ' Add another button to the new toolbarSet MyButton = MyToolbar.Controls.Add(Type:=msoControlButton)

' Set some of the button's propertiesWith MyButton


.TooltipText = "Get number of pages in PDF" 'Tooltip text when mouse is placed over button.Caption = "PDF Page Count" 'Text to be displayed on button.OnAction = "AcrobatPageCount" 'Name of routine to run when clicked.Style = msoButtonCaption 'Make button display text only.BeginGroup = True 'Put a separator line between the buttonsEnd With MyToolbar.Visible = True On Error GoTo 0 'Resume default error handling NormalExit:

' MsgBox "Note: This version is still under development. " & _' "Please be careful!"Exit Sub ' so it doesn't go on to run the errorhandler code ErrorHandler:

'Just in case there is an errorMsgBox Err.Number & vbCrLf & Err.DescriptionResume NormalExit:End Sub

'Delete the custom toolbar when you close the databaseSub Auto_Close() 'Runs automatically when the file is closedDim bar, MyToolbarName As String ' Specify the toolbar nameMyToolbarName = "PDFtools" ' Delete the toolbarFor Each bar In CommandBarsIf bar.Name = MyToolbarName Thenbar.DeleteEnd IfNext bar

End Sub



تبقى مجرد نظريات و الله اعلم

عبد الهادي بهاب
15-08-2016, 11:21 PM
حتى يحضر العلماء .خيط اخر مدام الاوبلاي يتعامل مع اضافة luacom

فاكيد فيه علاقة انطلاقا من امكانية انشاء ملفات pdf من خلال luacom



InstalledVersion = 0;
objAcroRdr = luacom.CreateObject("AcroPDF.PDF.1")
if objAcroRdr then
InstalledVersion = 7;
else
--if they have less then 4, they need to update :)
for n=4, 6 do
objAcroRdr = luacom.CreateObject("PDF.PdfCtrl."..n)
if objAcroRdr then
InstalledVersion = n;
end
end
end

if InstalledVersion ~= 0 then
Dialog.Message("Acrobat Detect", "Installed version is: " .. InstalledVersion)
else
--Install Acrobat
Dialog.Message("Acrobat Reader", "Adobe Acrobat Reader is required.")
end



-------------- لا علاقة اظنه كود مسؤول عن البحث عن برنامج قارئ الب د ف في الحاسوب ---------------

فرح صالحي
16-08-2016, 10:51 AM
-------------- لا علاقة اظنه كود مسؤول عن البحث عن برنامج قارئ الب د ف في الحاسوب ---------------[/COLOR][/QUOTE]

بالتأكيد
http://c.top4top.net/p_22858lk1.png

فرح صالحي
16-08-2016, 11:04 AM
لايختلف مفهوم البرمجة بشكل عام بإختلاف لغات البرمجة، حيث يتم استخدام نفس المنطق في جميع اللغات، مع إختلاف طريقة التعبير عن هذا المنطق، لذا تتوفر أدوات تسمح للمستخدمين بالتحويل من لغة إلى ثانية.

وموقع “https://varycode.com” يوفّر أداة تسمح للمستخدم بتحويل الأكواد البرمجية “الشيفرات” من لغة برمجة إلى لغة ثانية، ويسمح مجاناً وبشكل يومي تحويل مالايزيد عن 2000 حرف ويمكن التخلص من هذا الحد من خلال دفع اشتراك شهري غير باهظ الثمن مقارنةً بالاحترافية التي توفّرها الأداة.

بعد الدخول إلى الموقع يضغط المستخدم على “Start Conversion Right away” الموجود في الأسفل ومن ثم يقوم بلصق الكود ويحدد لغة البرمجة المكتوب فيها، ويحدد اللغة التي يرغب بالتحويل إليها.

عبد الهادي بهاب
16-08-2016, 11:12 AM
لايختلف مفهوم البرمجة بشكل عام بإختلاف لغات البرمجة، حيث يتم استخدام نفس المنطق في جميع اللغات، مع إختلاف طريقة التعبير عن هذا المنطق، لذا تتوفر أدوات تسمح للمستخدمين بالتحويل من لغة إلى ثانية.

وموقع “https://varycode.com” يوفّر أداة تسمح للمستخدم بتحويل الأكواد البرمجية “الشيفرات” من لغة برمجة إلى لغة ثانية، ويسمح مجاناً وبشكل يومي تحويل مالايزيد عن 2000 حرف ويمكن التخلص من هذا الحد من خلال دفع اشتراك شهري غير باهظ الثمن مقارنةً بالاحترافية التي توفّرها الأداة.

بعد الدخول إلى الموقع يضغط المستخدم على “start conversion right away” الموجود في الأسفل ومن ثم يقوم بلصق الكود ويحدد لغة البرمجة المكتوب فيها، ويحدد اللغة التي يرغب بالتحويل إليها.

معلومة جديجة استاذ فرح
شكرا جزيلا نتعلم منها ان شاء الله

ربيع
16-08-2016, 01:54 PM
لايختلف مفهوم البرمجة بشكل عام بإختلاف لغات البرمجة، حيث يتم استخدام نفس المنطق في جميع اللغات، مع إختلاف طريقة التعبير عن هذا المنطق، لذا تتوفر أدوات تسمح للمستخدمين بالتحويل من لغة إلى ثانية.

وموقع “https://varycode.com” يوفّر أداة تسمح للمستخدم بتحويل الأكواد البرمجية “الشيفرات” من لغة برمجة إلى لغة ثانية، ويسمح مجاناً وبشكل يومي تحويل مالايزيد عن 2000 حرف ويمكن التخلص من هذا الحد من خلال دفع اشتراك شهري غير باهظ الثمن مقارنةً بالاحترافية التي توفّرها الأداة.

بعد الدخول إلى الموقع يضغط المستخدم على “Start Conversion Right away” الموجود في الأسفل ومن ثم يقوم بلصق الكود ويحدد لغة البرمجة المكتوب فيها، ويحدد اللغة التي يرغب بالتحويل إليها.
شكرا جزيلا مشاركة فيها فائدة :abc_152:

ثامر أبو بلقيس
17-08-2016, 12:25 AM
من بين المواضيــــع التي تبقى الاوتوبلاي عاجزة على تنفيذها
أي البحث في البيدياف لأنها أساسا تعجز على استخلاص مفردة فكيف لها البحث في
ما عجزت عليه
لكن هي مناسبة أن أطرح تساؤل عن موجود :
مامعنى هذا الكود الموجود في البرنامج هل يتطوع زميل لشرحه ؟
PDF.SetNamedDest("PDF1", "Examples");


بالتوفيق و نعتذر عن المشاركة بكلام دون أكواد :abc_138:

فرح صالحي
17-08-2016, 12:40 AM
من بين المواضيــــع التي تبقى الاوتوبلاي عاجزة على تنفيذها
أي البحث في البيدياف لأنها أساسا تعجز على استخلاص مفردة فكيف لها البحث في
ما عجزت عليه
لكن هي مناسبة أن أطرح تساؤل عن موجود :
مامعنى هذا الكود الموجود في البرنامج هل يتطوع زميل لشرحه ؟
PDF.SetNamedDest("PDF1", "Examples");


بالتوفيق و نعتذر عن المشاركة بكلام دون أكواد :abc_138:

Aller à un endroit nommé appelé «Exemples» dans l'objet de PDF par le nom de " PDF1 " .