Drucken Sie bei zwei Zahlen eine Seite mit einem "X" an der angegebenen Stelle (± 10%).
Die Zahlen müssen entweder Prozentsätze oder Bruchteile der Druckbereichsabmessungen der Seite sein, z . B. [25,75]
oder ["15%","0%"]
oder [0.33,1]
. Sie müssen keine Ränder berücksichtigen. Denken Sie daran, anzugeben, welche Zahl die Breite und welche die Höhe ist und welche Ecke der Ursprung ist.
Sie können natürlich davon ausgehen, dass ein Drucker angeschlossen ist und auch jeder virtuelle Drucker zählt. Möglicherweise möchten Sie sogar einen PDF-Drucker als Standarddrucker festlegen, bevor Sie mit dieser Herausforderung beginnen.
Sie können eine druckbare Datei (z. B. eine PDF-Datei) erstellen und diese an einen virtuellen Drucker senden, der wiederum Ihre Ergebnis-PDF-Datei erstellt. Möglicherweise erstellen Sie die endgültige PDF-Datei jedoch nicht direkt. Dies muss ein ordnungsgemäßer Druckauftrag sein.
Fügen Sie nach Möglichkeit ein Foto, einen Scan oder einen Screenshot des Ergebnisses oder einen Link zu einem Online-Dokument bei. Beachten Sie, dass Imgur PDFs akzeptiert.
Sie erhalten natürlich mehr positive Stimmen, wenn Sie tatsächlich ein X platzieren, anstatt Zeilenumbrüche und Leerzeichen mit einer angenommenen Schriftart und Papiergröße auszugeben.
Beispiel
Für die Eingabehöhe 75% und die Breite 25% drucken Sie von oben links das folgende Dokument:
Antworten:
MacOS Bash + OfficeJet Pro 8600, 46
Ursprung ist die obere linke Ecke.
Ich habe einen Testdruck durchgeführt, um die Zeichenabmessungen der Druckvorgänge
lp
auf meinem Drucker zu überprüfen. Es scheint 82 B x 64 H zu sein, sodass (ganzzahlige) Multiplikation der Prozentsätze mit 3/5 bzw. 4/5 innerhalb der 10% -Toleranz liegt.Ergebnis mit Befehlszeileneingabe von
25 75
:quelle
APL (Dyalog) unter Windows,
3635 BytesAnonyme Funktion, die (Y, X) in Prozent von oben links als Argument verwendet
Wir beginnen mit einer Liste von drei Elementen:
{
eine anonyme Funktion (alle Variablen sind lokal)⍵
das Argument, z75 25
(
rechts von'X'⎕WC'Printer'
W indows C reate ein Druckerobjekt mit dem Namen X , Rückkehr'#.X'
2↓
Lass zwei Zeichen fallen, um gerecht zu werden'X'
)
rechts von'Text'
was wir hinzufügen werden'X.'⎕WC
W indows C reate ein Objekt (Typ, Inhalt, Position) im Objekt X und kehrt zurück'#.X'
}
Funktionsende (da X lokal ist, wird es beim Beenden der Funktion zerstört und signalisiert Windows, dass der Druckauftrag abgeschlossen ist, wodurch Windows ihn druckt.)quelle
Java 8,
210209 Bytes-1 Byte: In Currying-Syntax geändert
Nimmt die Eingabe als Gleitkommaversion von Prozent :
0.25, 0.75
.Wenn das Papierformat mit 72 dpi (8,5 x 11 Zoll) angenommen werden kann, 184 Byte
Verwendet Standardwerte zum Drucken in PDF. Nimmt jetzt die Eingabe als ganzzahlige Version von Prozent :
25, 75
.Wenn auch ein Windows-Betriebssystem angenommen werden kann, 177 Bytes
Gleiche Eingaben wie oben :
25, 75
.Verwendungszweck
Testfall
Zur Eingabe von
0.25, 0.75
:(Ich habe keinen physischen Drucker, aber dies sollte immer noch ohne Probleme funktionieren.)
quelle
catch(Exception e){}
?PrinterJob.print()
wirft einPrinterException
und ich sah keinen Weg, um es zu umgehen.C #,
259202201 BytesOnyx ist eine Schriftart, die standardmäßig auf meinem Windows 10-Computer installiert ist, wobei 4 der kürzeste Schriftartname zu sein scheint. Ich habe das getestet, indem ich Folgendes in C # ausgeführt und dann
blah
im Debugger überprüft habe .Vollversion / formatiert:
Testfall (0,25, 0,75):
quelle