Potrzebuję pomocy w wysyłaniu sformatowanego tekstu do drukarki przy użyciu Ruby w Ruby na szynach LUB wysyłania pliku PDF do drukarki z programu Ruby. Mogę napisać kod, aby utworzyć plik pdf z aplikacji Rails, ale nie wiem, jak wydrukować ten plik PDF na domyślną drukarkę. Próbuję napisać małą aplikację biletową z Ruby on Rails.Drukowanie pliku na drukarce w języku Ruby
Odpowiedz
W systemach Linux i Mac OS X można użyć programu wiersza poleceń "lpr", przekazując mu nazwę pliku PDF (nie jest jednak pewne co do systemu Windows). Na przykład:
def print_to_paper
your_code_to_write_a_pdf_file("file.pdf")
system("lpr", "file.pdf") or raise "lpr failed"
end
Dzięki (y). Zadziałało!! – Rohit
Oto rozwiązanie w środowisku Windows: Foxit! http://www.foxitsoftware.com/pdf/reader/
Możesz wywołać program foxit.exe (samodzielny plik wykonywalny), aby w trybie cichym wydrukować plik PDF w tle.
Składnia: foxit.exe/t "Twój file.pdf" "Nazwa drukarki"
shell = WIN32OLE.new('Shell.Application')
shell.ShellExecute("foxit.exe","/t \"#{filename}\" \"#{printer}\"")
Nie jestem pewien, czy istnieje sposób, aby wydrukować coś na domyślna drukarka z sieci. W moim banku, gdy chcę uzyskać potwierdzenie płatności, dostaję pdf i muszę go wydrukować ręcznie. Myślę, że to dobre rozwiązanie. Po prostu dodaj trochę informacji na ten temat.
Mam wewnętrzną aplikację do tworzenia etykiet komputerowych. Importuję komputery z pliku otrzymanego od firmy Dell lub wprowadzam je ręcznie, eksportuję je do pliku CSV, który mogę zaimportować do MS SCCM. Mogę drukować etykiety do umieszczenia na komputerach. Etykiety mają logo firmy, nazwę komputera, adres MAC i dane kontaktowe servicedesk.
Drukuję go za pomocą gLabels. Projektujesz etykietę w gLabels, wpisujesz dynamiczne pola i dodajesz do niej plik CSV, a następnie wypisuje plik PDF, który następnie wykorzystuję do drukowania Lpr do mojego Dymo Labelwritera.
Umieściłem to w moim modelu Komputery, ponieważ nie wiedziałem, gdzie jeszcze go umieścić.
# Print all computers with printed = false
def self.print
printed_labels = 0
csv_file = Tempfile.new(["computers", ".csv"])
logger.debug("Writing #{csv_file.path}")
begin
Computer.transaction do
Computer.unprinted.each do |computer|
csv_file.puts "\"#{computer.mac(' ')}\",\"#{computer.hostname}\""
computer.printed = true
computer.save
printed_labels += 1
end
end
ensure
csv_file.close
if csv_file.length > 0
pdf_file = Tempfile.new(["computers", ".pdf"])
begin
pdf_file.close
system '/usr/bin/glabels-batch', "--input=#{csv_file.path}", "--output=#{pdf_file.path}", AssetBase::Application.config.computer_label
system '/usr/bin/lpr', '-P', 'LabelWriter-450', pdf_file.path
ensure
pdf_file.unlink
end
end
csv_file.unlink
end
printed_labels
end
Ten działa na Fedorze Linux, więc backend drukarki to CUPS i jego część, która obsługuje PDF, którego nie znam. Może to być CUPS lub sterownik drukarki lub sam sterownik drukarki.
Istnieją inne metody tworzenia tekstu strukturalnego do formatu PDF, ale dla etykiet gLabels jest świetny.
- 1. Drukowanie w języku Java bezpośrednio na drukarce sieciowej Postscript
- 2. Drukowanie rzeczy w szynach (dosłownie na drukarce)
- 3. Drukowanie na LPT1 w języku C#
- 4. Drukowanie niestandardowego rozmiaru papieru na drukarce udarowej w trybie WPF
- 5. Drukowanie na drukarce USB za pomocą Pythona na komputerze Mac
- 6. Drukowanie na drukarce etykiet ze strony internetowej/aplikacji internetowej?
- 7. Drukowanie kodów kreskowych ze strony internetowej na drukarce Zebra
- 8. Drukowanie czytelnej matrycy w Ruby
- 9. Wydrukuj do pliku XPS, a następnie wydrukuj go na drukarce.
- 10. Parsowanie pliku binarnego w języku Ruby
- 11. Drukowanie grafiki w języku Python
- 12. Drukowanie pliku HTML na drukarkę w java
- 13. Drukowanie WPF - ustaw drukarkę w trybie automatycznym na drukarce WPF PrintDialog
- 14. Drukowanie kodu źródłowego bloku Ruby
- 15. Drukowanie z matrycą punktową w języku C#?
- 16. Całkiem Drukowanie struktury danych drzewa w Ruby
- 17. Drukowanie formularza/UserControl w języku C#
- 18. Wielokrotne drukowanie w Ruby na tej samej linii
- 19. Drukowanie wyjątków wątków demonów w języku Python
- 20. Drukowanie w języku Java - Powiększone wydruki na małej liczbie drukarek
- 21. Drukowanie PHP na lokalnej drukarce termicznej, nie działa bez nazwy sieciowej
- 22. Drukowanie dowolnego typu pliku
- 23. Drukowanie w języku Python bez przecinków
- 24. Gramatyka w języku Ruby "&& ="
- 25. Drukowanie pliku .PDF przy użyciu różnych drukarek w Javie
- 26. Uzyskiwanie dostępu do zaszyfrowanego pliku pgp w języku Ruby
- 27. Drukowanie pliku wyjściowego skryptu php do pliku
- 28. Posuw papieru na drukarce POS C#
- 29. Jak wydrukować raporty Jaspera na określonej drukarce?
- 30. Drukowanie "kursora" ASCII w konsoli
Byłoby bardzo pomocne wiedzieć, dla jakiego systemu operacyjnego to jest. –
Myślę, że @Shreyans chcą wydrukować go po stronie klienta, a nie po stronie serwera. Odpowiedzi @wdebeaum i @ P.Bader są po stronie serwera. – klew