एक्स स्पॉट को चिह्नित करता है - एक प्रिंट नौकरी


10

दो नंबरों को देखते हुए, निर्दिष्ट स्थान ("10%) में" X "के साथ एक पृष्ठ प्रिंट करें।

संख्या या तो प्रतिशत या पेज का प्रिंट क्षेत्र आयामों के भिन्न, जैसे होना चाहिए [25,75]या ["15%","0%"]या [0.33,1]। आपको मार्जिन पर विचार करने की आवश्यकता नहीं है। बस याद रखना कि कौन सी संख्या चौड़ाई है, और कौन सी ऊँचाई है, और कौन सा कोना मूल है।

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

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

यदि संभव हो, तो कृपया परिणाम का एक फोटो, स्कैन, या स्क्रीनशॉट शामिल करें, या एक ऑनलाइन दस्तावेज़ से लिंक करें। ध्यान दें कि Imgur PDF स्वीकार करता है।

यदि आप वास्तव में एक X को स्थान देते हैं, तो एक निश्चित फ़ॉन्ट और पेपर आकार के साथ newlines और रिक्त स्थान को आउटपुट करने के बजाय आपको अधिक उत्थान मिलेगा।

उदाहरण

इनपुट ऊंचाई 75% और चौड़ाई 25%, ऊपर बाईं ओर से, निम्न दस्तावेज़ प्रिंट करें:


[25,75]



क्या हमें कहीं से भी छवि फ़ाइल पढ़ने की अनुमति है?
बीटा क्षय

@BetaDecay क्या छवि फ़ाइल है?
आदम

आपके प्रश्न में छवि: i.stack.imgur.com/rfZeO.png
बीटा डिके

@BetaDecay आप एक दस्तावेज़ उत्पन्न करने वाले हैं, एक छवि को पढ़ने के लिए नहीं।
आदम

हमें कौन से कागज़ के आकार का उपयोग करना चाहिए / मान लेना चाहिए, या क्या फर्क पड़ता है?
स्टीफन

जवाबों:


6

मैकओएस बैश + ऑफिसजेट प्रो 8600, 46

(yes ''|sed $[$2*3/5]q;printf %$[$1*4/5]sX)|lp

उत्पत्ति शीर्ष-बाएँ कोने है।

मैंने lpअपने प्रिंटर द्वारा जो प्रिंट किया जाता है उसके चरित्र आयामों की जांच करने के लिए एक परीक्षण प्रिंट किया - यह 82w x 64h प्रतीत होता है, इसलिए (पूर्णांक) क्रमशः 3/5 और 4/5 प्रतिशत गुणा 10% सहिष्णुता के भीतर हो जाता है।

परिणाम, कमांड लाइन इनपुट के साथ 25 75:

यहाँ छवि विवरण दर्ज करें


6
वाह, पीपीसीजी पर पहली भौतिक वस्तु प्रस्तुत करनी होगी।
17:17 पर Adám


1
@ Adám इस बारे में क्या ?
NoOneIsHere

1

विंडोज पर APL (Dyalog) , 36 35 बाइट्स

अनाम फ़ंक्शन (Y, X) को शीर्ष बाएं से तर्क के रूप में ले रहा है

{'X.'WC'Text'(2'X'WC'Printer')⍵}

हम तीन तत्वों की सूची से शुरू करते हैं:

{ एक अनाम फ़ंक्शन (सभी चर स्थानीय हैं)

 तर्क, जैसे 75 25

( के अधिकार के लिए

  'X'⎕WC'Printer'डब्ल्यू indows सी reate एक प्रिंटर वस्तु नामित एक्स , लौटने'#.X'

  2↓ बस पाने के लिए दो वर्णों को छोड़ें 'X'

) के अधिकार के लिए

'Text' हम क्या जोड़ेंगे

'X.'⎕WCW , X में C reate को एक प्रकार (प्रकार, सामग्री, स्थिति) से प्रेरित करता है , लौटने'#.X'

} फ़ंक्शन का अंत (चूंकि एक्स स्थानीय है, यह तब समाप्त हो जाता है जब फ़ंक्शन समाप्त हो जाता है, विंडोज को संकेत देता है कि हम प्रिंट नौकरी के साथ किए जाते हैं, जिसके कारण विंडोज इसे प्रिंट करता है)


एक्स @ 75 25


0

जावा 8, 210 209 बाइट्स

-1 बाइट: सिंटेक्स को करीने में बदल दिया

import java.awt.print.*;
x->y->{PrinterJob j=PrinterJob.getPrinterJob();j.setPrintable((g,p,i)->{g.drawString("X",(int)(p.getWidth()*x),(int)(p.getHeight()*y));return i;});try{j.print();}catch(Exception e){}};

प्रतिशत के फ्लोटिंग-पॉइंट संस्करण के रूप में इनपुट लेता है: 0.25, 0.75 :।

यदि पेपर का आकार 8.5x11in (72dpi), 184 बाइट्स के रूप में माना जा सकता है

import java.awt.print.*;
x->y->{PrinterJob j=PrinterJob.getPrinterJob();j.setPrintable((g,p,i)->{g.drawString("X",x*612/100,y*792/100);return i;});try{j.print();}catch(Exception e){}};

पीडीएफ में मुद्रण के लिए डिफ़ॉल्ट मानों का उपयोग करता है। अब पूर्णांक संस्करण के रूप में इनपुट लेता है:25, 75 :।

अगर एक विंडोज ओएस भी माना जा सकता है, 177 बाइट्स

import sun.awt.windows.*;
x->y->{WPrinterJob j=new WPrinterJob();j.setPrintable((g,p,i)->{g.drawString("X",x*612/100,y*792/100);return i;});try{j.print();}catch(Exception e){}};

ऊपर के रूप में एक ही जानकारी 25, 75:।

प्रयोग

import java.awt.print.*;
...
Function<Double, Consumer<Double>> f =
x->y->{PrinterJob j=PrinterJob.getPrinterJob();j.setPrintable((g,p,i)->{g.drawString("X",(int)(p.getWidth()*x),(int)(p.getHeight()*y));return i;});try{j.print();}catch(Exception e){}};
...
f.apply(.25).accept(.75);

परीक्षण का मामला

के इनपुट के लिए 0.25, 0.75:

Java Printing Test Case

(मेरे पास भौतिक प्रिंटर नहीं है, लेकिन यह अभी भी समस्या के बिना काम करना चाहिए )


बहुत प्रभावशाली। आपको आवश्यकता क्यों है catch(Exception e){}?
एडम

@ Adám क्योंकि PrinterJob.print()एक फेंकता है PrinterExceptionऔर मुझे इसके आसपास जाने का कोई रास्ता नहीं दिखाई देता।
जस्टिन मेरिनर

0

सी #, 259 202 201 बाइट्स

namespace System.Drawing.Printing{w=>h=>{var p=new PrintDocument();p.PrintPage+=(s,e)=>e.Graphics.DrawString("X",new Font("Onyx",9),Brushes.Red,e.PageBounds.Width*w,e.PageBounds.Height*h);p.Print();};}

गोमेद डिफ़ॉल्ट रूप से मेरी विंडोज 10 मशीन पर स्थापित एक फ़ॉन्ट है जहां 4 सबसे छोटा फ़ॉन्ट नाम लगता है। मैंने परीक्षण किया कि निम्नलिखित को C # में चलाकर और फिर blahडिबगर में निरीक्षण करके।

var blah = FontFamily.Families.GroupBy(o => o.Name.Length)
                              .OrderBy(g => g.Key);

पूर्ण / स्वरूपित संस्करण:

namespace System.Drawing.Printing
{
    class P
    {
        static void Main(string[] args)
        {
            Func<float, Action<float>> f = w => h =>
            {
                var p = new PrintDocument();
                p.PrintPage += (s, e) =>
                    e.Graphics.DrawString("X", new Font("Onyx", 9), Brushes.Red,
                                          e.PageBounds.Width * w, e.PageBounds.Height * h);
                p.Print();
            };

            f(0.25f)(0.75f);
        }
    }
}

टेस्ट केस (0.25, 0.75):


उदाहरण दस्तावेज

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.