2010-06-08 7 views
19

पीडीएफ पेज मैनिपुलेशन के लिए पीडीएफशर्प .NET लाइब्रेरी का उपयोग कर एक पीडीएफ पेज को एक छवि के रूप में कैसे निर्यात करें?PDFsharp .NET लाइब्रेरी का उपयोग कर पीडीएफ पेज को एक छवि के रूप में कैसे निर्यात करें?

उदाहरण के लिए

, जैसे, System.Drawing.BitMap.GetPixel()

मैं एक पीडीएफ दस्तावेज़ के अंदर, कुछ ग्राफिक्स लिखने के लिए (किसी भी रंग की, सभी सफेद या) खाली क्षेत्र पता लगाने के लिए कोशिश कर रहा हूँ कुछ/छवि।

09 जून 2010:

मैं इस की कोशिश की है, लेकिन यह काम नहीं कर रहा है।

निम्न कोड अपेक्षित के रूप में क्यों काम नहीं कर रहा है?

Bitmap.GetPixel हमेशा रिटर्न 0.

// 
// PdfSharp.Pdf.PdfDocument 
// PdfSharp.Pdf.PdfPage 
// PdfSharp.Drawing.XGraphics 
// System.Drawing.Bitmap 
// 
string srcPDF = @"C:\hcr\test\tmp\file1.pdf"; 
PdfDocument pdfd = PdfReader.Open(srcPDF); 
XGraphics xgfx = XGraphics.FromPdfPage(pdfd.Pages[0]); 
Bitmap b = new Bitmap((int) pdfp.Width.Point, (int) pdfp.Height.Point, xgfx.Graphics); 

int rgb = b.GetPixel(0, 0).ToArgb(); 
+0

क्या यह हो सकता है कि 'xgfx.Graphics' हमेशा' शून्य 'है? 'बिट बिटमैप (इंट, इंट, ग्राफिक्स) 'विधि के लिए विवरण:" निर्दिष्ट आकार के साथ और निर्दिष्ट ग्राफिक्स ऑब्जेक्ट के संकल्प के साथ बिटमैप वर्ग का एक नया उदाहरण आरंभ करता है। " कोई आश्चर्य नहीं कि इस फ़ंक्शन के रूप में सभी पिक्सेल रिटर्न 0 ग्राफिक्स ऑब्जेक्ट से किसी भी पिक्सेल की प्रतिलिपि नहीं बनाते हैं (और नहीं कर सकते हैं)। –

उत्तर

17

जवाब PDFsharp पूछे जाने वाले प्रश्न सूची में पाया जा सकता: http://www.pdfsharp.net/wiki/PDFsharpFAQ.ashx#Can_PDFsharp_show_PDF_files_Print_PDF_files_Create_images_from_PDF_files_3

PDFsharp पीडीएफ फाइलों बनाता है, लेकिन यह उन्हें प्रदान नहीं कर सकते हैं।

कॉल

Bitmap b = new Bitmap((int) pdfp.Width.Point, (int) pdfp.Height.Point, xgfx.Graphics); 

बिटमैप के किसी भी बिट्स को प्रारंभ नहीं होता है और ग्राफिक्स से कुछ भी कॉपी नहीं करता ग्राफिक्स वस्तु की डीपीआई सेटिंग के लिए छोड़कर आपत्ति है। ग्राफिक्स ऑब्जेक्ट चीजें खींचते हैं, लेकिन उन्हें याद नहीं आया कि उन्होंने क्या खींचा है और वे new Bitmap(...) पर कॉल में चित्रों को फिर से नहीं बना सकते हैं। यह माइक्रोसॉफ्ट से ग्राफिक्स कक्षा के साथ काम नहीं करता है, यह पीडीएफशर्प से एक्सग्राफिक्स क्लास के साथ काम नहीं करता है।

पीडीएफशर्प से एक्सग्राफिक्स क्लास का उपयोग पीडीएफ पृष्ठों पर आकर्षित करने के लिए किया जा सकता है और इसका उपयोग बिटमैप, प्रिंटर पर या स्क्रीन पर आकर्षित करने के लिए किया जा सकता है - यह पीडीएफ पृष्ठों पर और किसी भी डीसी पर प्राप्त कर सकता है विंडोज। MigraDoc के लिए भी चला जाता है।
तो यदि आप एक ही सामग्री के साथ पीडीएफ फाइलें और बिटमैप्स बनाना चाहते हैं, तो पीडीएफशर्प और माइग्राडॉक मदद कर सकता है।

लेकिन पीडीएफशर्प एक पीडीएफ पेज को बिटमैप में प्रस्तुत करने का कोई तरीका नहीं प्रदान करता है।

+0

मुझे समझ में नहीं आता है, सिस्टम को लिखते समय। ड्रॉइंग। ग्राफिक्स संभव है, इससे पिक्सल पढ़ने से जानबूझकर असंभव हो गया। मेरे लिए, ग्राफिक्स से बिटमैप ऑब्जेक्ट बनाना उचित आवश्यकता की तरह दिखता है। :( –

+11

आप लिखते हैं: "पढ़ने से पिक्सेल पढ़ने को जानबूझकर असंभव बना दिया गया है।" यह सच नहीं है: हम इसे असंभव नहीं बनाते हैं। पीडीएफ एक वेक्टर प्रारूप है। आप वेक्टर प्रारूप से पिक्सल कैसे पढ़ते हैं? आप पीडीएफ प्रस्तुत कर सकते हैं बिटमैप के लिए और उसमें से पिक्सल पढ़ें। लेकिन पीडीएफशर्प बिटमैप्स प्रस्तुत नहीं करता है। –

+0

क्या यह माइग्राडोक के माध्यम से पूरा किया जा सकता है? http://www.pdfsharp.net/wiki/documentviewer-sample.ashx –

संबंधित मुद्दे