2012-06-12 7 views
5

this answer to 'GhostScript command line parameters to convert EPS to PDF' में; यह कहा गया है कि Ghost12cript के pdfwrite डिवाइस के लिए डिफ़ॉल्ट संकल्प 720x720 है, जिसे मैंने शुरू में अविश्वसनीय पाया!आउटपुट डिवाइस (जैसे 'पीडीएफराइट' या 'टिफग 4') के डिफ़ॉल्ट विकल्प/सेटिंग्स के लिए घोस्टस्क्रिप्ट क्वेरी करना

क्या घोस्टस्क्रिप्ट डिवाइस के डिफ़ॉल्ट विकल्पों को सूचीबद्ध करने का कोई तरीका है?

उत्तर

11

चूंकि घोस्टस्क्रिप्ट एक पूर्ण उड़ा हुआ पोस्टस्क्रिप्ट दुभाषिया है, इसलिए आप पोस्टस्क्रिप्ट स्निपेट भी भेज सकते हैं जो पेज तत्वों के चित्रण का कारण नहीं बनता है, लेकिन जो इसकी आंतरिक स्थिति के लिए पूछताछ करता है।

आप को पता है कि प्रदर्शन की डिफ़ॉल्ट सेटिंग्स, कर रहे हैं जब आप इसे gs some.pdf के माध्यम से पूछना सिर्फ स्क्रीन पर एक पीडीएफ प्रदर्शित करना चाहते हैं, तो आप इस कोशिश कर सकते:

gs \ 
    -c "currentpagedevice {exch ==only () print == } forall" 

विंडोज़ पर इस हो जाता है :

gswin32c.exe^
    -c "currentpagedevice {exch ==only () print == } forall" 

परिणाम /SomeName somevalue जोड़े जो वर्तमान स्क्रीन करने के लिए पृष्ठों प्रतिपादन के लिए इस्तेमाल किया सेटिंग्स का वर्णन की एक सूची है।

ऐसा इसलिए है क्योंकि आम तौर पर डिस्प्ले घोस्टस्क्रिप्ट के लिए अपना आउटपुट भेजने के लिए डिफ़ॉल्ट डिवाइस है। अब आप देख सकते हैं कि आपको एक खाली घोस्टस्क्रिप्ट विंडो पॉप अप दिखाई देगी, जिसे आपको बंद करना होगा .... आह, पॉपअप विंडो से बचने के लिए कुछ विकल्प जोड़ने के बारे में कैसे?

gs \ 
    -o /dev/null \ 
    -dNODISPLAY \ 
    -c "currentpagedevice {exch ==only () print == } forall" 

या, विंडोज पर:

gswin32c.exe^
    -o nul^
    -dNODISPLAY^
    -c "currentpagedevice {exch ==only () print == } forall" 

लेकिन यह, क्वेरी वापसी मान बदल जाएगा क्योंकि आप (अनजाने) आउटपुट डिवाइस सेटिंग बदल गई:

gs -c "currentpagedevice {exch ==only () print == } forall" | grep Resolution 

परिणाम:

HWResolution [86.5426483 86.5426483] 
/.MarginsHWResolution [1152.0 1152.0] 

कॉम करने के लिए

gs \ 
    -o /dev/null \ 
    -dNODISPLAY \ 
    -c "currentpagedevice {exch ==only () print == } forall" \ 
| grep Resolution 

परिणाम यह धीरे-धीरे कम:

/HWResolution [72.0 72.0] 
/.MarginsHWResolution [72.0 72.0] 

तो, यह जाल से बचने के लिए कृपया। मैं कुछ साल पहले सफलतापूर्वक इसमें गिर गया था, और इसे काफी लंबे समय तक नहीं देखा ...

अब यह मानते हुए कि आप पीडीएफ लेखन डिवाइस की डिफ़ॉल्ट सेटिंग्स के लिए पूछना चाहते हैं, इसे चलाएं:

gs \ 
    -o /dev/null \ 
    -sDEVICE=pdfwrite \ 
    -c "currentpagedevice {exch ==only () print == } forall" \ 
| tee ghostscript-pdfwrite-default-pagedevice-settings.txt 

अब आपके पास * .txt फ़ाइल में pdfwrite डिवाइस के लिए सभी सेटिंग्स होंगी।और आप कुछ अन्य रोचक Ghostscript उपकरणों के साथ दोहरा सकते हैं कि और फिर अपने सभी विस्तृत अंतर के लिए उनकी तुलना: इस तरह

for _dev in \ 
    pswrite ps2write pdfwrite \ 
    tiffg3 tiffg4 tiff12nc tiff24nc tiff32nc tiff48nc tiffsep \ 
    jpeg jpeggray jpegcmyk \ 
    png16 png16m png256 png48 pngalpha pnggray pngmono; \ 
do \ 
    gs \ 
    -o /dev/null \ 
    -sDEVICE=${_dev} \ 
    -c "currentpagedevice {exch ==only () print == } forall" \ 
    | sort \ 
    | tee ghostscript-${_dev}-default-pagedevice-settings.txt; \ 
done 

यह के लिए कहते हैं, सेटिंग्स तुलना करने के लिए नहीं बल्कि दिलचस्प है, pswrite और ps2write उपकरणों (और यह भी पता चलता है मापदंडों जो एक के लिए उपलब्ध हैं, लेकिन नहीं अन्य उपकरण):

sdiff -sbB ghostscript-ps*write-default-pagedevice-settings.txt 

अद्यतन:

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

इसके अलावा, कुछ महत्वपूर्ण मानों के लिए केवल -dict- की वापसी से बचने के लिए, == मैक्रो के बजाय === का उपयोग करें। ===== जैसे कार्य करता है लेकिन शब्दकोशों के सामग्री को भी प्रिंट करता है।

तो pdfwrite डिवाइस के लिए उदाहरण आउटपुट यहां है। याद रखें, घोस्टस्क्रिप्ट का pdfwrite डिवाइस अधिकतर कार्यक्षमता प्रदान करने के लिए है एडोब एक्रोबैट डिस्टिलर (अतिरिक्त सुविधा के साथ यह न केवल पोस्टस्क्रिप्ट को इनपुट के रूप में स्वीकार करता है, बल्कि पीडीएफ भी स्वीकार करता है, ताकि आप रेडिस्टिल मौजूदा पीडीएफ फाइलों को सॉर्ट कर सकें मरम्मत, सुधार या अन्यथा उन्हें कुशल बनाने के लिए आदेश)।इसलिए, Ghostscript के pdfdevice सम्मान setdistillerparams ऑपरेटर जो मूल शराब खींचनेवाला भी समर्थन करता है के सबसे:

gs \ 
    -o /dev/null \ 
    -sDEVICE=pdfwrite \ 
    -c "currentpagedevice {exch ==only () print === } forall" \ 
| sort 

/%MediaDestination 0 
/%MediaSource 0 
/.AlwaysEmbed [] 
/.HWMargins [0.0 0.0 0.0 0.0] 
/.IgnoreNumCopies false 
/.LockSafetyParams false 
/.MarginsHWResolution [720.0 720.0] 
/.MediaSize [612.0 792.0] 
/.NeverEmbed [/Courier /Courier-Bold /Courier-Oblique /Courier-BoldOblique /Helvetica /Helvetica-Bold /Helvetica-Oblique /Helvetica-BoldOblique /Times-Roman /Times-Bold /Times-Italic /Times-BoldItalic /Symbol /ZapfDingbats] 
/ASCII85EncodePages false 
/AllowIncrementalCFF false 
/AllowPSRepeatFunctions false 
/AlwaysEmbed [] 
/AntiAliasColorImages false   [*] 
/AntiAliasGrayImages false   [*] 
/AntiAliasMonoImages false   [*] 
/AutoFilterColorImages true 
/AutoFilterGrayImages true 
/AutoPositionEPSFiles true 
/AutoRotatePages /PageByPage 
/BeginPage {--.callbeginpage--} 
/Binding /Left      [*] 
/BitsPerPixel 24 
/BlueValues 256 
/CalCMYKProfile (None)    [*] 
/CalGrayProfile (None)    [*] 
/CalRGBProfile (None)    [*] 
/CannotEmbedFontPolicy /Warning  [*] 
/CenterPages false 
/ColorACSImageDict << /Blend 1 /VSamples [2 1 1 2] /QFactor 0.9 /HSamples [2 1 1 2] >> 
/ColorConversionStrategy /LeaveColorUnchanged 
/ColorImageDepth -1 
/ColorImageDict << /Blend 1 /VSamples [2 1 1 2] /QFactor 0.9 /HSamples [2 1 1 2] >> 
/ColorImageDownsampleThreshold 1.5 
/ColorImageDownsampleType /Subsample 
/ColorImageFilter /DCTEncode 
/ColorImageResolution 150 
/ColorValues 16777216 
/Colors 3 
/CompatibilityLevel 1.4 
/CompressEntireFile false 
/CompressFonts true 
/CompressPages true 
/ConvertCMYKImagesToRGB false 
/ConvertImagesToIndexed true 
/CoreDistVersion 5000 
/CreateJobTicket false    [*] 
/DSCEncodingToUnicode [] 
/DefaultRenderingIntent /Default 
/DetectBlends true     [*] 
/DetectDuplicateImages true 
/DeviceGrayToK true 
/DeviceLinkProfile() 
/DoNumCopies false 
/DoThumbnails false     [*] 
/DocumentTimeSeq 0 
/DocumentUUID() 
/DownsampleColorImages false 
/DownsampleGrayImages false 
/DownsampleMonoImages false 
/EmbedAllFonts true 
/EmitDSCWarnings false    [*] 
/EncodeColorImages true 
/EncodeGrayImages true 
/EncodeMonoImages true 
/EncryptionR 0 
/EndPage {--.callendpage--}   [*] 
/FirstObjectNumber 1 
/FitPages false 
/ForOPDFRead false 
/GraphicICCProfile() 
/GraphicIntent 0 
/GraphicsAlphaBits 1 
/GrayACSImageDict << /Blend 1 /VSamples [2 1 1 2] /QFactor 0.9 /HSamples [2 1 1 2] >> 
/GrayImageDepth -1 
/GrayImageDict << /Blend 1 /VSamples [2 1 1 2] /QFactor 0.9 /HSamples [2 1 1 2] >> 
/GrayImageDownsampleThreshold 1.5 
/GrayImageDownsampleType /Subsample 
/GrayImageFilter /DCTEncode 
/GrayImageResolution 150 
/GrayValues 256 
/GreenValues 256 
/HWResolution [720.0 720.0] 
/HWSize [6120 7920] 
/HaveCIDSystem false 
/HaveTransparency true 
/HaveTrueTypes true 
/HighLevelDevice true 
/ImageICCProfile() 
/ImageIntent 0 
/ImageMemory 524288     [*] 
/ImagingBBox null 
/InputAttributes << 59 << /PageSize [612 792] >> 36 << /PageSize [649 918] >> 13 << /PageSize [595 842] >> 49 << /PageSize [354 499] >> 26 << /PageSize [2004 2835] >> 3 << /PageSize [792 1224] >> 62 << /PageSize [595 792] >> 39 << /PageSize [612 936] >> 16 << /PageSize [297 420] >> 52 << /PageSize [1460 2064] >> 29 << /PageSize [709 1001] >> 6 << /PageSize [2448 3168] >> 42 << /PageSize [396 612] >> 19 << /PageSize [105 148] >> 55 << /PageSize [516 729] >> 32 << /PageSize [2599 3677] >> 9 << /PageSize [1684 2384] >> 45 << /PageSize [1417 2004] >> 22 << /PageSize [1296 1728] >> 58 << /PageSize [612 1008] >> 35 << /PageSize [918 1298] >> 12 << /PageSize [842 1191] >> 48 << /PageSize [499 709] >> 25 << /PageSize [2835 4008] >> 2 << /PageSize [612 792] >> 61 << /PageSize [612 792] >> 38 << /PageSize [323 459] >> 15 << /PageSize [420 595] >> 51 << /PageSize [2064 2920] >> 28 << /PageSize [1001 1417] >> 5 << /PageSize [1585 2448] >> 64 << /PageSize [0 0 524287 524287] >> 41 << /PageSize [283 420] >> 18 << /PageSize [148 210] >> 54 << /PageSize [729 1032] >> 31 << /PageSize [354 499] >> 8 << /PageSize [2384 3370] >> 44 << /PageSize [2004 2835] >> 21 << /PageSize [864 1296] >> 57 << /PageSize [1224 792] >> 34 << /PageSize [1298 1837] >> 11 << /PageSize [1191 1684] >> 47 << /PageSize [709 1001] >> 24 << /PageSize [2592 3456] >> 1 << /PageSize [792 1224] >> 60 << /PageSize [612 792] >> 37 << /PageSize [459 649] >> 14 << /PageSize [595 842] >> 50 << /PageSize [2920 4127] >> 27 << /PageSize [1417 2004] >> 4 << /PageSize [1224 1585] >> 63 << /PageSize [792 1224] >> 40 << /PageSize [612 936] >> 17 << /PageSize [210 297] >> 53 << /PageSize [1032 1460] >> 30 << /PageSize [499 709] >> 7 << /PageSize [2016 2880] >> 43 << /PageSize [2835 4008] >> 20 << /PageSize [648 864] >> 56 << /PageSize [363 516] >> 33 << /PageSize [1837 2599] >> 10 << /PageSize [73 105] >> 46 << /PageSize [1001 1417] >> 23 << /PageSize [1728 2592] >> 0 << /PageSize [612.0 792.0] >> >> 
/Install {--.callinstall--} 
/InstanceUUID() 
/IsDistiller true 
/KeyLength 0 
/LZWEncodePages false 
/Margins [0.0 0.0] 
/MaxClipPathSize 12000 
/MaxInlineImageSize 4000 
/MaxPatternBitmap 0 
/MaxSeparations 3 
/MaxShadingBitmapSize 256000 
/MaxSubsetPct 100 
/MaxViewerMemorySize -1 
/MonoImageDepth -1 
/MonoImageDict << /K -1 >> 
/MonoImageDownsampleThreshold 1.5 
/MonoImageDownsampleType /Subsample 
/MonoImageFilter /CCITTFaxEncode 
/MonoImageResolution 300 
/Name (pdfwrite) 
/NeverEmbed [/Courier /Courier-Bold /Courier-Oblique /Courier-BoldOblique /Helvetica /Helvetica-Bold /Helvetica-Oblique /Helvetica-BoldOblique /Times-Roman /Times-Bold /Times-Italic /Times-BoldItalic /Symbol /ZapfDingbats] 
/NoEncrypt() 
/NoT3CCITT false 
/NumCopies null 
/OPM 1 
/OffOptimizations 0 
/Optimize false      [*] 
/OutputAttributes << 0 << >> >> 
/OutputDevice /pdfwrite 
/OutputFile (/dev/null) 
/OutputICCProfile (default_rgb.icc) 
/OwnerPassword() 
/PDFA 0 
/PDFACompatibilityPolicy 0 
/PDFEndPage -1 
/PDFStartPage 1 
/PDFX false 
/PDFXBleedBoxToTrimBoxOffset [0.0 0.0 0.0 0.0] 
/PDFXSetBleedBoxToMediaBox true 
/PDFXTrimBoxToMediaBoxOffset [0.0 0.0 0.0 0.0] 
/PageCount 0 
/PageDeviceName null 
/PageOffset [0 0] 
/PageSize [612.0 792.0] 
/ParseDSCComments true 
/ParseDSCCommentsForDocInfo true 
/PatternImagemask false 
/Permissions -4 
/Policies << /PolicyReport {--dup-- /.LockSafetyParams --known-- {/setpagedevice --.systemvar-- /invalidaccess signalerror} --if-- --pop--} /PageSize 0 /PolicyNotFound 1 >> 
/PreserveCopyPage true    [*] 
/PreserveDeviceN true 
/PreserveEPSInfo true    [*] 
/PreserveHalftoneInfo false   [*] 
/PreserveOPIComments true   [*] 
/PreserveOverprintSettings true 
/PreserveSMask true 
/PreserveSeparation true 
/PreserveTrMode true 
/PrintStatistics false 
/ProcessColorModel /DeviceRGB 
/ProduceDSC true 
/ProofProfile() 
/ReAssignCharacters true 
/ReEncodeCharacters true 
/RedValues 256 
/RenderIntent 0 
/RotatePages false 
/SeparationColorNames [] 
/Separations false 
/SetPageSize false 
/SubsetFonts true 
/TextAlphaBits 1 
/TextICCProfile() 
/TextIntent 0 
/TransferFunctionInfo /Preserve 
/UCRandBGInfo /Preserve 
/UseCIEColor false 
/UseFastColor false 
/UseFlateCompression true 
/UsePrologue false     [*] 
/UserPassword() 
/WantsToUnicode true 
/sRGBProfile (None)     [*] 

[*] नोट:

आधिकारिक दस्तावेज के अनुसार, निम्न सेटिंग्स (समर्थित हैं जो एडोब एक्रोबैट डिस्टिलर द्वारा) वर्तमान में घोस्टस्क्रिप्ट पर सेट और पूछताछ की जा सकती है, लेकिन उन्हें सेट करने से कोई प्रभाव नहीं पड़ता है:

  • /AntiAliasColorImages
  • /AntiAliasGrayImages
  • /AntiAliasMonoImages
  • /AutoPositionEPSFiles
  • /Binding
  • /CalCMYKProfile
  • /CalGrayProfile
  • /CalRGBKProfile
  • /CannotEmbedFontPolicy
  • /ConvertImagesToIndexed
  • /CreateJobTicket
  • /DetectBlends
  • /DoThumbnails
  • /EmitDSCWarnings
  • /EndPage
  • /ImageMemory
  • /LockDistillerParams
  • /Optimize
  • /PreserveCopyPage
  • /PreserveEPSInfo
  • /PreserveHalftoneInfo
  • /PreserveOPIComments
  • /sRGBProfile
  • /StartPage
  • /UsePrologue
+1

वाह, अद्भुत - इसके लिए बहुत धन्यवाद, @pipitas! मैंने वास्तव में कभी नहीं समझा था कि "पोस्टस्क्रिप्ट दुभाषिया" का अर्थ अब तक है - यह आदेश अविश्वसनीय रूप से उपयोगी है कि ये आदेश दस्तावेज दस्तावेज हो ... बहुत धन्यवाद - चीयर्स! – sdaau

+0

@sdaau: मैंने मूल उत्तर को कुछ हद तक अद्यतन और विस्तारित किया है ... –

+0

अद्यतन @pipitas के लिए धन्यवाद - यह ऑनलाइन होने के लिए एक शानदार संसाधन है; चियर्स! – sdaau

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