Witam wszsytkich Rubowiczów… Jestem tu nowy, znam kilka języków, ale spodobał mi się ostanio ruby. Faktycznie w porównaniu do innych języków ten w końcu mogę powiedzieć, że jest naprawdę obiektowy… Ale nie o tym chciałem.
Pobrałem i zainstalowałem bibliotekę do generowania pdf. Ustawiłem polskie ogonki (program pisze w windowsie więc kodowanie jest ustawione na ten system). I … generuje mi pdf z polskimi ogonkami. Ale kurcze jednak się stała masakra, bo nakrwyają się na siebie literki z polskimi ogonkami. A dokładniej szerokość literki jest mniejsza niż prawdziwa szerokość wyświetlana w dokumencie pdf. Ogólnie kibel jakiś. Ja sie nie znam na tego typu pierdołach - w sensie nie wiem dokładnie jak tam ten pdf jest zbudowany, ale coś tu jest skopane i może ktoś tutaj ma jakiś pomysł jak to poprawić?
Proszę tez o informacje na temat generowania jakiegokolwiek innego dokumentu np (np. MS-Word) z poziomu Ruby. Może być też jakaś inna biblioteka do generowania PDF.
Ja korzystałem z PDF::Writer
http://ruby-pdf.rubyforge.org/pdf-writer/
Poniżej zemieściłem kod programu, który generuje pdf z polskimi ogonkami, które mają nieprawidłową szerokość wyświetlanych znaków.
require “pdf/writer”
diff= {
0xA5 => “Aogonek”,
0xB9 => “aogonek”,
0xC6 => “Cacute”,
0xE6 => “cacute”,
0xCA => “Eogonek”,
0xEA => “eogonek”,
0xA3 => “Lslash”,
0xB3 => “lslash”,
0xD1 => “Nacute”,
0xF1 => “nacute”,
0xD3 => “Oacute”,
0xF3 => “oacute”,
0x8C => “Sacute”,
0x9C => “sacute”,
0x8F => “Zacute”,
0x9F => “zacute”,
0xAF => “Zdotaccent”,
0xBF => “zdotaccent”
}
pdf = PDF::Writer.new
pdf.select_font(“Times-Roman”, { :encoding => “WinAnsiEncoding”, :differences => diff })
text = “ĄĆĘŁŃÓŚŹŻ\nąćęłńóźż\nBez polskich ogonków jest ok. Niektóre znaki jak: ‘Ó’, ‘ó’, ‘Ł’, ‘ł’ - sa wyswietlane prawidlowo.”
pdf.text text, :font_size => 18, :justification => :left
pdf.save_as(“test.pdf”)