2011-03-14 19 views
6

के सेट से पीडीएफ जेनरेट करें मेरे पास मेरे सर्वर पर जेपीईजी का एक ही आकार है। क्या मैं इसे पीडीएफ फ़ाइल सर्वर पक्ष में परिवर्तित कर सकता हूं?जेपीईजी

उत्तर

2

मैं इस आवश्यकता

Document document = new Document(); 
PdfWriter.getInstance(document, new FileOutputStream(yourOutFile)); 
document.open(); 

for(int i=0;i<numberOfImages;i++){ 
    Image image1 = Image.getInstance("myImage"+i+".jpg"); 
    image1.scalePercent(23f); 
    document.newPage(); 
    document.add(image1); 
} 
document.close(); 
+0

मेरे लिए यह काम करने के लिए, मुझे क्या चाहिए? (क्या पुस्तकालयों को शामिल करना है?) – BIU

+0

@BIU आपको [iText लाइब्रेरी] (http://www.itextpdf.com/) डाउनलोड करने की आवश्यकता है – anu

+0

@anu मुझे निम्न त्रुटियां मिल रही हैं: "इसमें परिभाषा नहीं है ' getInstance "मैं iTextSharp.text का उपयोग कर iText लाइब्रेरी को पहले ही जोड़ और आयात कर चुका हूं; ITextSharp.text.pdf का उपयोग कर ; ITextSharp का उपयोग कर ; – Ladessa

3

मैं

PdfPage page = outputDocument.AddPage(); 
page.Size = PdfSharp.PageSize.A4; 
XGraphics gfx = XGraphics.FromPdfPage(page); 
XImage image = XImage.FromFile("MyJPGFileXXX.jpg"); 
gfx.DrawImage(image, 0, 0); 
+1

मैं आमतौर पर नीली लपटें तीव्र का उपयोग के लिए iText का उपयोग कर रहा है, लेकिन मैं इस पुस्तकालय की कोशिश कर रहा में देख रहा हूँ, इसका इस्तेमाल करने के बहुत आसान दिखाई देता है। – stephenbayer

+0

mdmulinax, कृपया मेरा प्रश्न देखें http://stackoverflow.com/questions/15437706/pdf-from-bitmap मुझे पीडीएफ विकृत हो रहा है जब मैं पीडीएफशर्प – Ladessa

2

DotImage है बिल्ट-इन कक्षाओं की तर्ज पर http://www.pdfsharp.net/

कुछ का उपयोग कर यह करने के लिए कोशिश होगी। अपने सभी jpegs एक फ़ोल्डर में हैं, तो आप ऐसा कर सकते हैं:

FileSystemImageSource source = new FileSystemImageSource(pathToDirectory, "*.jpg", true); 
PdfEncoder encoder = new PdfEncoder(); 
using (FileStream outstm = new FileStream(outputPath, FileMode.Create)) { 
    encoder.Save(outstm, source, null); 
} 

कौन सा एक उत्पादन पीडीएफ फाइल में .jpg के साथ समाप्त छवियों के सभी स्ट्रीम होगा। प्रत्येक पृष्ठ छवि के आकार के लिए उपयुक्त होगा (यह सेटटेबल है)। जहां तक ​​मुझे पता है, आपके द्वारा एन्कोड किए जा सकने वाले पृष्ठों की संख्या के लिए कोई व्यावहारिक सीमा नहीं है (मुझे यकीन है कि आप अपनी ढेर मेमोरी समाप्त करने से पहले पीडीएफ सीमा से अधिक हो जाएंगे)। परीक्षण में, मैंने मशीन पर जोर दिए बिना सैकड़ों छवियों को चलाया है।

यदि आप बेहतर नियंत्रण चाहते हैं तो संपीड़न को किसी ईवेंट के साथ नियंत्रित किया जा सकता है (यानी, जेपीईजी संपीड़न स्तर या फ़्लैट या जेपीईजी 2000 का उपयोग करना)। जेपीईजी में मौजूद होने पर रंग प्रोफाइल शामिल किए जाएंगे और यदि आप पीडीएफ/ए -1 बी चाहते हैं, तो वह भी ऐसा करेगा। यदि आप चाहें तो सामग्री की एक तालिका सेट अप करने के लिए कुछ बुनियादी समर्थन भी है।

अस्वीकरण - मैं अटलसॉफ्ट के लिए काम करता हूं और व्यक्तिगत रूप से फाइलसिस्टम इमेजसोर्स और पीडीएफएनकोडर कक्षाएं (साथ ही लगभग सभी अंतर्निहित पीडीएफ पीढ़ी के उपकरण) भी लिखता हूं।

+0

का उपयोग करता हूं आप किस भाषा में लिख रहे हैं, और आप किस पुस्तकालय का उपयोग कर रहे हैं? (यानी इस कार्यक्रम को काम करने के लिए मुझे क्या चाहिए?) – BIU

+0

क्या फ़ाइल निर्देशिका पर सहेजे गए jpegs से पीडीएफ उत्पन्न करने के लिए DotImage का उपयोग करना संभव है (उदाहरण के लिए डेटाबेस में फ़ाइलों के लिए)। तो FileSystemImageSource की बजाय, क्या मेमोरीस्ट्रीम इमेजसोर्स या ऐसा कुछ है जो मुझे इसे पीडीएफ में आउटपुट करने के लिए स्ट्रीम करने की अनुमति देता है? – Diskdrive

+0

@Diskdrive ImageSource और RandomAccessImageSource सार वर्ग हैं जिन्हें आपकी आवश्यकताओं के अनुसार उप-वर्गीकृत किया जा सकता है। हम डेटाबेस के लिए तैयार डीबीआईमेजसोर्स भी प्रदान करते हैं। – plinth

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