2013-07-25 6 views
7

मैं एक पीडीएफ 180 डिग्री घुमाने की कोशिश कर रहा हूं और मैं ऐसा करने के लिए ITextSharp लाइब्रेरी का उपयोग कर रहा हूं। नीचे दिया गया कोड उनकी साइट के उदाहरणों से लिया गया है। हालांकि, मुझे "FileOutputStream" को काम करने के लिए आयात करने के लिए सही नामस्थान नहीं मिल रहा है।FileOutputStream समकक्ष

यह एक कंसोल ऐप है, इसलिए सुनिश्चित नहीं है कि जावा का "FileOutpuStream" काम करेगा या नहीं।

PDFStamper() इस तरह संरचित है:

PdfStamper (PDFReader पाठक, स्ट्रीम ओएस)

public void rotatePDF(string inputFile) 
     { 
      // get input document 

     PdfReader reader = new PdfReader(inputFile);   
     PdfName pdfName = new PdfName(inputFile); 
     int n = reader.NumberOfPages; 
     int rot; 
     PdfDictionary pageDict; 
     for (int i = 1; i <= n; i++) 
     { 
      rot = reader.GetPageRotation(i); 
      pageDict = reader.GetPageN(i); 
      pageDict.Put(PdfName.ROTATE, new PdfNumber(rot + 180)); 
     } 

     PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(inputFile)); 
     stamper.closer(); 
     reader.Close(); 


     } 
+0

में है। –

उत्तर

8

एक FileStream का उपयोग करें। यह एक नई फ़ाइल शुरू करने के लिए File.Create (* outputfile *) प्रयास करें, या File.OpenWrite (* inputfile *) मूल PDF अधिलेखित करने के लिए System.IO

PdfStamper stamper = new PdfStamper(reader, new FileStream(inputFile, FileMode.Create);); 
+0

ऐसा लगता है जैसे यह काम करेगा ... हालांकि, एक बार यह इस लाइन पर पहुंचने के बाद मुझे "प्रक्रिया फ़ाइल _____। पीडीएफ तक नहीं पहुंच सकती क्योंकि यह किसी अन्य प्रक्रिया द्वारा उपयोग की जा रही है।" त्रुटि। इसके साथ कोई मदद? – MaylorTaylor

+2

'नया पीडीएफ रीडर (इनपुटफाइल) 'को' नया पीडीएफ रीडर (नया फ़ाइलस्ट्रीम (इनपुटफाइल, फ़ाइलमोड.ऑपन) 'में बदलें' – bebraham

+0

मैं आमतौर पर केवल लिखने के लिए फ़ाइल को लॉक करने की सलाह देता हूं: 'नया फ़ाइलस्ट्रीम (इनपुटफाइल, फ़ाइलमोड.क्रेट, FileAccess.Write, FileShare.None) ' –

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