परिचय
Aspose.Page FOSS for Python एक मुफ्त, ओपन-सोर्स लाइब्रेरी है जो PostScript (PS), एन्कैप्सुलेटेड PostScript (EPS), और XPS दस्तावेज़ों को PDF और रास्टर इमेजेज़ में Python अनुप्रयोगों के लिए परिवर्तित करती है। यह MIT लाइसेंस के तहत वितरित की जाती है और PyPI पर aspose-page-foss के रूप में उपलब्ध है।
यह लाइब्रेरी दो शीर्ष-स्तर के दस्तावेज़ क्लास प्रदान करती है: PsDocument PS और EPS फ़ाइलों के लिए, और XpsDocument XPS फ़ाइलों के लिए। दोनों क्लास to_pdf() और to_image() मेथड्स उजागर करती हैं जो बाइट एरेज़ लौटाती हैं, जिससे अस्थायी फ़ाइलें लिखे बिना फ़ाइल प्रोसेसिंग पाइपलाइन में एकीकृत करना सरल हो जाता है।
क्योंकि इस लाइब्रेरी को Ghostscript, Adobe Reader, या किसी भी नेटिव Office रनटाइम पर निर्भरता नहीं है, यह Windows, Linux, और macOS पर चलती है, जिसमें CI रनर और Docker कंटेनर शामिल हैं। जो डेवलपर्स को उन्नत रेंडरिंग सुविधाओं के साथ पूर्ण व्यावसायिक API चाहिए, वे इन ओपन-सोर्स यूटिलिटीज़ के साथ एंटरप्राइज़ Aspose.Page for Python उत्पाद का उपयोग जारी रख सकते हैं।
क्या शामिल है
PS और EPS से PDF रूपांतरण
PsDocument दोनों PostScript (.ps) और एन्कैप्सुलेटेड PostScript (.eps) फ़ाइलों को एक ही क्लास इंटरफ़ेस के माध्यम से संभालता है। दस्तावेज़ लोड करने के लिए PsDocument.from_file() को कॉल करें, फिर परिणाम को PDF बाइट एरे के रूप में प्राप्त करने के लिए to_pdf() को कॉल करें।
from pathlib import Path
from aspose.page.ps.document import PsDocument
ps = PsDocument.from_file("input.ps")
pdf_bytes = ps.to_pdf()
Path("output.pdf").write_bytes(pdf_bytes)
from_bytes() क्लास मेथड कच्चे बाइट्स को स्वीकार करता है, इसलिए नेटवर्क स्ट्रीम या फ़ाइल अपलोड से आने वाले दस्तावेज़ों को डिस्क पर लिखे बिना प्रोसेस किया जा सकता है।
PS और EPS को रास्टर इमेज में
PS या EPS दस्तावेज़ को PNG या JPEG इमेज में रेंडर करने के लिए, एक ImageSaveOptions इंस्टेंस को to_image() में पास करें। format प्रॉपर्टी को "png" या "jpeg" पर सेट करें और dpi प्रॉपर्टी को आउटपुट रिज़ॉल्यूशन नियंत्रित करने के लिए सेट करें।
from aspose.page.ps.document import PsDocument
from aspose.page.ps.output import ImageSaveOptions
eps = PsDocument.from_file("input.eps")
opts = ImageSaveOptions(format="png", dpi=150)
png_bytes = eps.to_image(opts)
XPS को PDF और इमेज में
XpsDocument XPS फ़ाइलें लोड करता है और PsDocument के समान to_pdf() और to_image() इंटरफ़ेस प्रदान करता है। XpsDocument.from_file() कॉल करके XPS दस्तावेज़ लोड करें, फिर इच्छित आउटपुट फ़ॉर्मेट में बदलें।
from pathlib import Path
from aspose.page.xps.document import XpsDocument
from aspose.page.ps.output import ImageSaveOptions
xps = XpsDocument.from_file("input.xps")
pdf_bytes = xps.to_pdf()
Path("output.pdf").write_bytes(pdf_bytes)
png_bytes = xps.to_image(ImageSaveOptions(format="png", dpi=96))
इन-मेमोरी प्रोसेसिंग
सभी कन्वर्ज़न मेथड bytes ऑब्जेक्ट्स लौटाते हैं। अस्थायी फ़ाइलें कभी आवश्यक नहीं होतीं जब तक एप्लिकेशन स्पष्ट रूप से उन्हें नहीं लिखता। PsDocument और XpsDocument दोनों पर from_bytes() कंस्ट्रक्टर कच्चे बाइट्स को इनपुट के रूप में स्वीकार करते हैं, इसलिए पूरी पाइपलाइन मेमोरी में ही रह सकती है।
from aspose.page.ps.document import PsDocument
def convert_ps_in_memory(ps_bytes: bytes) -> bytes:
doc = PsDocument.from_bytes(ps_bytes)
return doc.to_pdf()
MCP सर्वर इंटिग्रेशन
लाइब्रेरी में एक वैकल्पिक MCP सर्वर शामिल है जो FastMCP का उपयोग करके रूपांतरण फ़ंक्शनों को रिमोट टूल्स के रूप में उजागर करता है। सर्वर ps_to_pdf, ps_to_image, xps_to_pdf और xps_to_image को कॉल करने योग्य टूल्स के रूप में पंजीकृत करता है। McpInput फ़ाइल पथ या base64-एन्कोडेड बाइट्स लेता है; McpOutput base64 बाइट्स लौटाता है या पथ पर लिखता है।
FastMCP एक वैकल्पिक निर्भरता है — कोर रूपांतरण कार्यक्षमता इसके बिना भी कार्य करती है। MCP सर्वर लाइब्रेरी को AI एजेंट पाइपलाइन, माइक्रोसर्विसेज, और उन एडिटर्स से कॉलेबल बनाने में उपयोगी है जो MCP टूल सर्वर्स का समर्थन करते हैं।
त्वरित शुरूआत
pip के साथ लाइब्रेरी स्थापित करें:
git clone https://github.com/aspose-page-foss/Aspose.Page-FOSS-for-Python.git
cd Aspose.Page-FOSS-for-Python
pip install -e .निम्नलिखित उदाहरण सबसे आम उपयोग केस को कवर करता है — एक PS फ़ाइल को PDF में बदलना और इसे डिस्क पर सहेजना:
from pathlib import Path
from aspose.page.ps.document import PsDocument
from aspose.page.ps.output import ImageSaveOptions
# Convert PS to PDF
ps = PsDocument.from_file("document.ps")
Path("document.pdf").write_bytes(ps.to_pdf())
# Convert EPS to PNG at 150 DPI
eps = PsDocument.from_file("illustration.eps")
opts = ImageSaveOptions(format="png", dpi=150)
Path("illustration.png").write_bytes(eps.to_image(opts))
# Convert XPS to PDF
from aspose.page.xps.document import XpsDocument
xps = XpsDocument.from_file("document.xps")
Path("document.pdf").write_bytes(xps.to_pdf())
समर्थित फ़ॉर्मेट
Aspose.Page FOSS for Python PostScript (.ps), Encapsulated PostScript (.eps), और XML Paper Specification (.xps) फ़ाइलें पढ़ता है। आउटपुट स्वरूप PDF (.pdf) और रास्टर इमेजेज (.png, .jpeg) हैं। सभी रूपांतरण केवल निर्यात के लिए हैं — लाइब्रेरी PS, EPS, या XPS नहीं लिखती।
ओपन सोर्स & लाइसेंसिंग
Aspose.Page FOSS for Python MIT लाइसेंस के तहत जारी किया गया है। सोर्स कोड GitHub पर github.com/aspose-page-foss/Aspose.Page-FOSS-for-Python पर होस्ट किया गया है। MIT शर्तों के तहत वाणिज्यिक उपयोग बिना किसी प्रतिबंध के अनुमति है।