Biorąc pod uwagę dwie liczby, wydrukuj stronę ze znakiem „X” w określonej lokalizacji (± 10%).
Numery muszą być albo procenty lub frakcje o wymiarach strefy wydrukować stronę użytkownika, np [25,75]
albo ["15%","0%"]
albo [0.33,1]
. Nie musisz brać pod uwagę marginesów. Pamiętaj tylko, aby podać, która liczba jest szerokością, a która wysokość, a który narożnik jest początkiem.
Możesz oczywiście założyć, że drukarka jest podłączona, a każda drukarka wirtualna również się liczy. W rzeczywistości przed rozpoczęciem tego wyzwania możesz ustawić drukarkę PDF jako drukarkę domyślną.
Możesz utworzyć plik do wydruku (np. PDF) i wysłać go do wirtualnej drukarki, która z kolei tworzy wynikowy plik PDF, ale nie możesz bezpośrednio utworzyć końcowego pliku PDF. To musi być właściwe zadanie drukowania.
Jeśli to możliwe, dołącz zdjęcie, skan lub zrzut ekranu wyniku lub link do dokumentu online. Pamiętaj, że Imgur akceptuje pliki PDF.
Oczywiście uzyskasz więcej głosów pozytywnych, jeśli faktycznie umieścisz X zamiast wypisywania nowych linii i spacji o założonej czcionce i rozmiarze papieru.
Przykład
W przypadku wysokości wejściowej 75% i szerokości 25% od lewego górnego rogu wydrukuj następujący dokument:
Odpowiedzi:
MacOS Bash + OfficeJet Pro 8600, 46
Pochodzenie to lewy górny róg.
Zrobiłem wydruk testowy, aby sprawdzić wymiary znaków drukowanych
lp
na mojej drukarce - wydaje się, że to 82 w x 64 godz., Więc (liczba całkowita) pomnożenie wartości procentowych odpowiednio przez 3/5 i 4/5 mieści się w granicach 10% tolerancji.Wynik z wprowadzeniem z wiersza poleceń
25 75
:źródło
APL (Dyalog) w systemie Windows,
3635 bajtówFunkcja anonimowa przyjmuje (Y, X) w procentach od lewego górnego rogu jako argument
Zaczynamy od listy trzech elementów:
{
funkcja anonimowa (wszystkie zmienne są lokalne)⍵
argument, np75 25
(
na prawo od'X'⎕WC'Printer'
W indows C tworzy obiekt Printer o nazwie X , zwracając'#.X'
2↓
upuść dwie postacie, aby dostać'X'
)
na prawo od'Text'
co dodamy'X.'⎕WC
W indows C tworzy obiekt (typ, treść, pozycja) w obiekcie X , zwracając'#.X'
}
koniec funkcji (ponieważ X jest lokalny, jest niszczony, gdy funkcja się kończy, sygnalizując systemowi Windows, że skończyliśmy zadanie drukowania, co powoduje, że Windows je wydrukuje)źródło
Java 8,
210209 bajtów-1 bajt: zmieniono na składnię curry
Zajmuje wejście jako zmiennoprzecinkowej wersji procent:
0.25, 0.75
.Jeśli rozmiar papieru można przyjąć jako 8,5 x 11 cali (72 dpi), 184 bajty
Wykorzystuje wartości domyślne do drukowania do pliku PDF. Teraz trwa wejścia jako procent całkowitej z wersji:
25, 75
.Jeśli można również założyć system operacyjny Windows, 177 bajtów
Wejścia same jak powyżej:
25, 75
.Stosowanie
Przypadek testowy
Do wprowadzenia
0.25, 0.75
:(Nie mam drukarki fizycznej, ale powinna ona nadal działać bez problemu)
źródło
catch(Exception e){}
?PrinterJob.print()
rzuca aPrinterException
i nie widziałem żadnego sposobu na obejście tego.C #,
259202201 bajtówOnyx to czcionka instalowana domyślnie na moim komputerze z systemem Windows 10, gdzie 4 wydaje się być najkrótszą nazwą czcionki. Przetestowałem to, uruchamiając następujące polecenia w C #, a następnie sprawdzając
blah
w debuggerze.Pełna / sformatowana wersja:
Przypadek testowy (0,25; 0,75):
źródło