2010-02-03 17 views
15

जब मैं डब्ल्यूपीएफ के बारे में किताबें पढ़ता हूं, मैंने देखा कि लेखक एक्सपीएस का उल्लेख करते हैं जैसे कि यह कुछ महत्वपूर्ण था। विंडोज़ में इसके एक्सपीएस व्यूअर भी शामिल हैं, और मैंने देखा है कि विंडोज़ की "फीचर" के रूप में सूचीबद्ध है।एक्सपीएस का क्या मतलब है?

लेकिन क्यों? क्या बात है? बिल्ली किसका उपयोग करता है? यह मेरी समझ है कि एक्सपीएस मूल रूप से पीडीएफ, एक्सएचटीएमएल, या ईप्यूब (जो सिर्फ एक्सएचटीएमएल है) की तरह है ... या यहां तक ​​कि वर्ड का डॉक्क्स प्रारूप। इनमें से कई सुविधाएं उन प्रारूपों में समान हैं।

ऐसा लगता है कि उनमें से किसी भी प्रारूप की तुलना में कोई बड़ा लाभ नहीं है। ऐसा लगता है कि XTtml XPS से RichTextBox से FlowDocuments को सहेजने और लोड करने के तरीके के रूप में बहुत अधिक उपयोगी होगा। मैंने दोनों के बीच कनवर्ट करने के बारे में कई ब्लॉग देखे हैं। इंटरनेट पर अधिकांश या समृद्ध पाठ (x) html है। इसके अलावा, मुझे नहीं लगता कि कोई भी अपने दस्तावेज़ों को प्रकाशित करने के लिए इसका उपयोग करता है; पीडीएफ पसंद किया जाता है। ऐसा लगता है कि एक्सपीएस बस कुछ यादृच्छिक प्रारूप है जिसे एमएस ने बनाया और धक्का देने का फैसला किया। मैं आम तौर पर एमएस से प्यार करता हूं, लेकिन उनके पास उस तरह की चीज है। क्या एमएस ने एक्सएचटीएमएल का उपयोग करके एपीआई नहीं बनाया? यह कई स्थितियों में अधिक उपयोगी होता, मुझे लगता है।

तो, क्या एक्सपीएस का उपयोग करने का कोई मुद्दा है, विशेष रूप से मेरे द्वारा वर्णित अन्य प्रारूपों में से एक (या मेरे पास नहीं) की तुलना में? क्या आपने कभी अपने कार्यक्रमों में एक्सपीएस का इस्तेमाल किया है या अन्यथा?

उत्तर

8

जैसा कि यू 62 पहले से ही कहा गया है, डब्ल्यूपीएफ दस्तावेज़व्यूयर नियंत्रण के साथ आता है जो आपको एक्सपीएस दस्तावेज़ देखने में सक्षम बनाता है। डॉक्यूमेंट व्यूअर में प्रिंट, ज़ूम, फिटटोज़ इत्यादि जैसे कुछ उपयोगी फॉनशंस भी हैं ... इसलिए आपको इसे लागू करने या किसी तृतीय पक्ष टूल का उपयोग करने की आवश्यकता नहीं है।

एक्सपीएस और डॉक्यूमेंट व्यूअर का उपयोग करके मैंने अभी एक घंटे पहले क्या किया था, वह किसी प्रकार का "एड्रेस लेबल प्रिंट पूर्वावलोकन" था। उपयोगकर्ता को संपर्कों की सूची से कुछ संपर्क चुनने दें, "पूर्वावलोकन प्रिंट करें" पर क्लिक करें। यह एक नई एक्सएएमएल विंडो खुलता है जिसमें एक दस्तावेज़ व्यूअर नियंत्रण और अलग-अलग लेबलों की पसंद के साथ एक सूची बॉक्स होता है (उदाहरण के लिए 12 लेबल [2 कॉलम, 6 पंक्तियों के साथ 1 शीट], एक शीट वाला एक शीट जिसका चौड़ाई और ऊंचाई उपयोगकर्ता परिभाषित किया जा सकता है) । उपयोगकर्ता चयन के आधार पर, मैं चयनित संपर्कों के पते के साथ चुने गए लेआउट में एक एक्सपीएस दस्तावेज़ उत्पन्न करता हूं। यदि उदा। उपयोगकर्ता ने 4 संपर्कों का चयन किया और उन्हें "सिंगल लेबलबेट" पर प्रिंट करना चाहते हैं, मैं 4 पेजों के साथ 1 एक्सपीएस दस्तावेज़ उत्पन्न करता हूं, प्रत्येक पृष्ठ में 1 एड्रेस होता है। फिर मैं दस्तावेज़ दृश्य में एक्सपीएस प्रदर्शित करता हूं और उपयोगकर्ता हमारे लेबल प्रिंटर पर लेबल प्रिंट कर सकता है।

एक बार जब मुझे समझ में आया कि एक्सपीएस एपीआई कैसे काम करता है (कम से कम मूल बातें), यह इसे पाने और चलाने के लिए 2 घंटे का मामला था।

तो, मूल रूप से, मैं एक्सपीएस को फ्लाई पर जेनरेट किए जाने वाले फिक्स्ड डॉक्यूमेंट्स को प्रदर्शित करने के लिए उपयोग करने में आसान एपीआई के रूप में देखता हूं। लेकिन मैं व्यक्तिगत रूप से उन्हें अपने एचडीडी में सहेजने के बारे में नहीं जाना चाहूंगा या किसी भी तरह उन्हें संशोधित नहीं करता हूं या जो भी आप आम तौर पर दस्तावेज़ों के साथ करते हैं।

3

एकमात्र वास्तविक लाभ मैं सोच सकता हूं कि आपके पास WPF अनुप्रयोगों में एक्सपीएस दस्तावेज़ देखने के लिए नियंत्रण है। आपके द्वारा उल्लेख किए जाने वाले अन्य प्रारूपों का अर्थ है कि आपको किसी तृतीय पक्ष रेंडरर को लेना होगा (या यदि आपके पास एक वर्ष अतिरिक्त है तो खुद को लिखें)।

बीटीडब्ल्यू। मुझे ePub के बारे में बहुत कुछ पता नहीं है, लेकिन एक्सपीएस सीधे एक्सएचटीएमएल के साथ तुलनीय नहीं है, यह पीडीएफ की तरह है कि इसमें एक निश्चित लेआउट है।

3

एक्सपीएस से डब्ल्यूपीएफ Win32/WinForms के लिए डब्लूएमएफ की तरह है, यह एक सतत प्रारूप है जो आपको मूल WPF ग्राफिक्स को स्टोर और प्रिंट करने देता है।

एक्सपीएस WPF तो क्या एमएस करना चाहिए (यहां तक ​​कि जब आप बचत, आंतरिक मुद्रण प्रणाली एक्सपीएस पर बनाया गया है बिना आवेदन से सीधे प्रिंट) से मुद्रित करने के लिए प्रयोग किया जाता है:

  1. एक नया फ़ाइल स्वरूप बनाएं कि
  2. WPF से 100% सही अनुवादक को प्रारूप में एक 100% सही अनुवादक बनाएं, जिसे वे पीडीएफ की तरह नियंत्रित नहीं करते हैं (और उम्मीद है कि एडोब एक्रोबैट रीडर की अगली रिलीज के साथ सभी WPF अनुप्रयोगों को तोड़ नहीं देगा)।

आप क्या करेंगे?

एक्सपीएस फाइलों को सहेजना सिर्फ एक अच्छा बोनस है।

+0

मैं इसे आम मौजूदा चीजों के साथ काम करने की कोशिश करता हूं जो लोग वास्तव में उपयोग करते हैं। –

+0

शायद यह उल्लेख किया जाना चाहिए कि एक्सपीएस केवल WPF तक ही सीमित नहीं है, लेकिन अप्रत्यक्ष रूप से Win32 या WinForms के साथ भी इसका उपयोग किया जा सकता है। विंडोज एक्सपी और बाद के सिस्टम डिफ़ॉल्ट रूप से एक एक्सपीएस प्रिंटर स्थापित करते हैं जिसका उपयोग एक्सपीएस दस्तावेजों को उत्पन्न करने के लिए किया जा सकता है। – stakx

3

देखो, मैं एक रिपोर्ट पीढ़ी के समाधान के रूप में एक्सपीएस पर निराशावादी हो सकता हूं, लेकिन मैंने इसे जाने दिया और शुरुआती दस्तावेज को समझने में कठिनाई हो गई, जो कि मुझे पसंद होने के मुकाबले कम असली दुनिया के नमूनों के साथ समझने में मुश्किल हो गई। जब मैं इसे एक वास्तविक विश्व व्यापार अनुप्रयोग में डालता हूं तो मुझे निराशा होती है, खासकर LOB ऐप्स में जिनके लिए कई पृष्ठों पर फैले टेबल की आवश्यकता होती है।

तब से हालात बदल सकते हैं, लेकिन जैसे ही मैंने कई पृष्ठों पर फैले टेबलों को देखना शुरू किया और मैं कॉलम हेडर को शीर्ष पर जाना चाहता था, आदि। मैंने पाया कि एपीआई ने मुझे जो करना है उसे करने की आवश्यकता है अनावश्यक जटिलता के साथ अत्यधिक कामकाज।

तो, तब से चीजें बदल सकती हैं (लगभग 8 महीने पहले), लेकिन मैं एक्सपीएस से आईटीक्स्टशर्प का उपयोग करने के लिए गया और यह बहुत कम दर्दनाक रहा है।

तो एकमात्र लाभ जो मैं कहूंगा, हर किसी की तरह, WPF में निर्मित दर्शक है - लेकिन इसके अलावा मुझे लगता है कि एपीआई को कुछ और करने की कोशिश करने से पहले थोड़ा और "परिपक्व" करने की आवश्यकता हो सकती है।

1

एक्सपीएस ("मेट्रो" नाम का कोड) स्पष्ट रूप से विंडोज विस्टा में पीडीएफ और पोस्टस्क्रिप्ट के माइक्रोसॉफ्ट विकल्प के रूप में डिजाइन किया गया था। इस पुराने लेख को यहां देखें: Microsoft Readies New Document Printing Specification

1

वास्तव में मुझे एक्सपीएस का उपयोग करने का वास्तव में एक अच्छा कारण मिला। मैं कई स्रोतों से प्रिंट करना चाहता था, merge documents और डुप्लेक्स और स्टेपल निर्दिष्ट करें। आखिरकार इसे डुप्लेक्स और स्टेपल वाले एक दस्तावेज़ के रूप में मुद्रित किया जाना चाहिए। मुझे ऐसा करने में मुश्किल हो रही थी लेकिन पाया कि एक्सपीएस (डिस्क पर सहेजा गया) को प्रिंट करके मैं न्यूनतम लक्ष्य के साथ अपना लक्ष्य पूरा कर सकता हूं। मुझे कोई अन्य विधि नहीं मिली है जो इतना आसान और सीधा है।

Dim PrintServer As New SysPrint.PrintServer("\\" & My.Computer.Name) 
    Dim PrintQ As New SysPrint.PrintQueue(PrintServer, "Ricoh Main") 
    Dim Jobs As SysPrint.PrintJobInfoCollection = PrintQ.GetPrintJobInfoCollection 
    Dim able As SysPrint.PrintCapabilities = PrintQ.GetPrintCapabilities() 

    Dim CurrentTicket As SysPrint.PrintTicket = PrintQ.CurrentJobSettings.CurrentPrintTicket 
    If able.StaplingCapability IsNot Nothing AndAlso able.StaplingCapability.Count > 0 Then 
     If able.StaplingCapability.Contains(Printing.Stapling.StapleTopLeft) Then 
      CurrentTicket.Stapling = Printing.Stapling.StapleTopLeft 
     End If 
    Else 
     Debug.Print("no stapling capability") 
    End If 

    CurrentTicket.Duplexing = Printing.Duplexing.TwoSidedLongEdge 

    Dim fiName As String = "S:\Temp\PS\XPS\Test.xps" 

    Dim TestJob As SysPrint.PrintSystemJobInfo _ 
      = PrintQ.AddJob("Test job", fiName, False) 
संबंधित मुद्दे