منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : قراءة ملف pdf
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
هل يمكن قراءة pdf من Resources باستخدام  Acrobat Reader
ٌReader.src = My.Resources.pdffile
يوجد error 
و جربت
Reader.LoadFile( My.Resources.pdffile)
لاكن نفس المشكلة
هل يوجد طريقة للقراءة من داخل Resources دون اضافة نسخة على الجهاز ؟
السلام عليكم و رحمة الله و بركاته

انت بحاجة الى فك محتويات الملف الى مجلد  ومن ثم قراءة الملف من ذلك المجلد (هكذا اعتقد)

يمكنك استخدام هذه الدالة للفك
PHP كود :
  Public Sub FileSave(ByVal BytesToWrite() As ByteByVal FileName As String)

 
     If IO.File.Exists(FileNameThen
         IO
.File.Delete(FileName)
 
     End If

 
     Dim FileStream As New System.IO.FileStream(FileNameSystem.IO.FileMode.OpenOrCreate)
 
     Dim BinaryWriter As New System.IO.BinaryWriter(FileStream)

 
     BinaryWriter.Write(BytesToWrite)
 
     BinaryWriter.Close()
 
     FileStream.Close()

 
  End Sub 


نحتاج ان نفحص وجوده في مجلد البرنامج فاذا كان موجود نحذفه و من ثم نفك محتويات الملف من Resource الى مجلد البرنامج
بعد ذلك نحتاج الى قراءة الملف من المسار 

الاستدعاء , نعرف اولا متغير يشير الى مكان وجود الملف في مجلد البرنامج
PHP كود :
  Private FileName As String String.Concat(Application.StartupPath"\MainDocument.pdf"
ثم نستدعي الدالة السابقة
PHP كود :
       FileSave(My.Resources.MainDocumentFileName
الان اصبح الملف في مجلد البرنامج يمكنك قرائته وفق مساره.

بالتوفيق
النوع هذا من الملفات غالبا يتحول الي مصفوة Byte بمجرد إضافته الي Resources
وعلي ما أعتقد انت تحتاج الي ضبط Properties الخاصة به و تجعل الملف Embeded و استخدمه بعد ذلك كما في الكود الخاص بك
او نفذ فكرة الأخ الفاضل أبوليلي
وإن  كنت تريد ان لايتم فتح الملف عليك فقط تشفيره قبل أن تضع منه نسخة علي الهارد ديسك
لابد من استخراج الملف الى ملف حقيقي في الجهاز ثم فتحه

ويمكنك تختصر كود الأخ أبو ليلى
PHP كود :
Dim FileName As String IO.Path.GetTempPath "tempfile.pdf"
IO.File.WriteAllBytes(FileNameMy.Resources.MainDocument)
Process.Start(FileName
(02-05-17, 03:02 AM)ابو ليلى كتب : [ -> ]السلام عليكم و رحمة الله و بركاته

انت بحاجة الى فك محتويات الملف الى مجلد  ومن ثم قراءة الملف من ذلك المجلد (هكذا اعتقد)

يمكنك استخدام هذه الدالة للفك
PHP كود :
  Public Sub FileSave(ByVal BytesToWrite() As ByteByVal FileName As String)

 
     If IO.File.Exists(FileNameThen
         IO
.File.Delete(FileName)
 
     End If

 
     Dim FileStream As New System.IO.FileStream(FileNameSystem.IO.FileMode.OpenOrCreate)
 
     Dim BinaryWriter As New System.IO.BinaryWriter(FileStream)

 
     BinaryWriter.Write(BytesToWrite)
 
     BinaryWriter.Close()
 
     FileStream.Close()

 
  End Sub 


نحتاج ان نفحص وجوده في مجلد البرنامج فاذا كان موجود نحذفه و من ثم نفك محتويات الملف من Resource الى مجلد البرنامج
بعد ذلك نحتاج الى قراءة الملف من المسار 

الاستدعاء , نعرف اولا متغير يشير الى مكان وجود الملف في مجلد البرنامج
PHP كود :
  Private FileName As String String.Concat(Application.StartupPath"\MainDocument.pdf"
ثم نستدعي الدالة السابقة
PHP كود :
       FileSave(My.Resources.MainDocumentFileName
الان اصبح الملف في مجلد البرنامج يمكنك قرائته وفق مساره.

بالتوفيق
جزاك الله خير
(02-05-17, 10:39 AM)silverlight كتب : [ -> ]النوع هذا من الملفات غالبا يتحول الي مصفوة Byte بمجرد إضافته الي Resources
وعلي ما أعتقد انت تحتاج الي ضبط Properties الخاصة به و تجعل الملف Embeded و استخدمه بعد ذلك كما في الكود الخاص بك
او نفذ فكرة الأخ الفاضل أبوليلي
وإن  كنت تريد ان لايتم فتح الملف عليك فقط تشفيره قبل أن تضع منه نسخة علي الهارد ديسك
 جزاك الله خير كيف يمكن تشفيرة ؟
(02-05-17, 01:15 PM)mansoor كتب : [ -> ]لابد من استخراج الملف الى ملف حقيقي في الجهاز ثم فتحه

ويمكنك تختصر كود الأخ أبو ليلى
PHP كود :
Dim FileName As String IO.Path.GetTempPath "tempfile.pdf"
IO.File.WriteAllBytes(FileNameMy.Resources.MainDocument)
Process.Start(FileName

جزاك الله خير