NET में कई पृष्ठों के TIFF में छवियों को कैसे जोड
जब भी मुझे स्कैन, रिसेप्शन या डॉक, बहु-पृष्ठ के एक बड़े बैच को संग्रहीत करने या साझा करने की आवश्यकता होती ह TIFF अभी भी राजा है-विशेष रूप से अनुपालन के लिए या एक प्राचीन स्कूल कार्यालय में वस्तुओं को वितरित करना. यहाँ यह है कि मैं इसे Aspose.Imaging के साथ कैसे करता हूं .NET.
क्यों Multi-Page TIFF?
पीडीएफ हर जगह हैं, लेकिन बहुत सारे विरासत प्रणालियों या दस्तावेज़ कार्यप्रवाह ह मांग TIFFs (विशेष रूप से चिकित्सा या कानूनी रिकॉर्ड के लिए) आप एक फ़ाइल चाहते हैं, सभी पृष्ठों के अंदर, कोई फूस नहीं ह.
मेरे चलने का समाधान
मैं एक फ़ोल्डर में अपने सभी स्रोत छवियों (जेपीजी, पीएनजी और यहां तक कि पुराने बीएमपी) को फेंक देता हूं, इस सी # स्क्रिप्ट को चलाता हूं और एक साफ, बहु-पृष्ठ टीआईएफ को बाहर करता हूं. यह हर बार काम करता है-और मैं इसे स्वचालित या अनुकूलित कर सकता हूं यदि आवश्यक ह.
Prerequisites
- Visual Studio 2019+ (या केवल .NET CLI)
- .NET 6.0+ (या .NET Framework 4.6.2+)
- NET के लिए Aspose.Imaging (NuGet जीवन को आसान बनाता ह)
- मिश्रण करने के लिए छवियों का एक फ़ोल्डर
PM> Install-Package Aspose.Imagingयहाँ है कैसे मैं बहु-पृष्ठ TIFF बनाने के लिए
चरण 1: सभी चित्रों को इकट्ठा कर
मैं सिर्फ अपनी सभी तस्वीरें लेता ह ./input फ़ोल्डर:
string[] files = Directory.GetFiles("./input", "*.jpg"); // tweak pattern for PNG, BMP, etc.चरण 2: छवियों को लोड करें और TIFF निर्यात सेट कर
var images = files.Select(f => Image.Load(f)).ToList();
var tiffOptions = new Aspose.Imaging.ImageOptions.TiffOptions(Aspose.Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default);
tiffOptions.Compression = Aspose.Imaging.FileFormats.Tiff.Enums.TiffCompressions.CcittFax4; // good for scans; use Lzw or None for colorचरण 3: एक ही TIFF में सभी पृष्ठों को सहेज
string outFile = "./output/merged_multipage.tiff";
using (var tiffImage = Aspose.Imaging.Image.Create(tiffOptions, images[0].Width, images[0].Height, false))
{
for (int i = 0; i < images.Count; i++)
{
var srcImg = images[i];
// For first page, just draw
if (i == 0)
{
var g = new Aspose.Imaging.Graphics(tiffImage);
g.DrawImage(srcImg, 0, 0, srcImg.Width, srcImg.Height);
}
else
{
// Add a new page for each image
tiffImage.AddPage(srcImg);
}
}
tiffImage.Save(outFile);
}
images.ForEach(img => img.Dispose());चरण 4: स्वास्थ्य जांच और समस्या निवारण
- IrfanView, Photoshop, या यहां तक कि Windows Photos में TIFF खोलें. अगर यह अच्छा दिखता है, तो आप सेट कर रहे ह.
- यदि आप काले / सफेद पृष्ठ प्राप्त करते हैं: छवि प्रारूपों और रंग की गहराई की जांच करें. TIFF कुछ रंग प्रकार के बारे में सूक्ष्म ह.
चरण 5: बोनस ट्वीक्स
- Change
Compressionके लिएLzwरंग डोक के लिए यNoneनुकसान के लिए - बैच नौकरियों के लिए, ऊपर दिए गए कोड को कई फ़ोल्डरों में एक लूप में डाल
- यदि आपका मशीन इसे संभाल सकता है तो समानांतर करें - बस एक ही समय में बहुत सारे फ़ाइलों को न खोल!
कभी-कभी मुझे क्या परेशान करता ह
- फ़ाइल ऑर्डर: सुनिश्चित करें कि आपके फ़ाइलें नामित या वर्गीकृत हैं जैसा आप चाहते हैं कि वे दिखाई द
- Weird फ़ॉर्मेट: कुछ दुर्लभ प्रारूपों को पहले PNG/JPG में रूपांतरण की आवश्यकता होती ह
- बड़े फ़ाइलें: बड़े बैट्स या उच्च रिज़ पृष्ठ = बड़ी स्मृति; यदि आवश्यक हो तो छोटे टुकड़ों में प्रसंस्करण
प्रो टिप्स
- मैं अपनी स्रोत छवियों को सुरक्षित रखता हूं - एक बार जब आप मिश्रण करते हैं, तो आप उन्हें आसानी से “एक-बैक” नहीं कर सकते ह
- अनुपालन के लिए, सामान्य संपीड़न (Lzw, फ़ैक्स4) का पालन कर)
- अपने आउटपुट टीआईएफ (डेटा, परियोजना, आदि) के लिए स्पष्ट नाम का उपयोग कर.)
FAQ
**Q: क्या मैं रंग और ग्रे स्केल छवियों को जोड़ सकता ह?**A: हाँ, लेकिन आउटपुट की जाँच करें-TIFF अजीब हो सकते हैं यदि पृष्ठों को नाटकीय रूप से अलग किया जाता ह
**Q: मैं इसे प्रत्येक अपलोड के लिए कैसे स्वचालित करता ह?**ए: इस तार्किक को एक वॉटर या योजनाबद्ध नौकरी में डालें – .NET कार्यों या विंडोज सेवाओं के साथ आसान
**Q: OCR या खोज योग्य TIFF के बारे में क्य?**A: आपको एक OCR चरण की आवश्यकता होगी—Aspose.OCR या इसी तरह—अगर आप खोज योग्य पाठ की जरूरत है तो मिश्रण से पहले / बाद म
Conclusion
NET और एक सरल स्क्रिप्ट के लिए Aspose.Imaging के साथ, आप मिनटों में संतोषजनक फ़ोल्डरों से अनुकूल, संग्रहीत और साझा करने योग्य TIFFs तक जा सकते हैं. इस दृष्टिकोण ने मुझे घंटों बचाया है-और मैं इसे हर बार भरोसा करता ह.
See NET API संदर्भ के लिए Aspose.Imaging अधिक TIFF, बैच और बहु-पृष्ठ टिप्स के लिए.