PDF - polskie znaki

Witam,
czy ktos moze opisac jak wygenerowac pdf’a z polskimi znakami? i czy jest to w ogole mozliwe bo coraz bardziej zaczynam watpiec. Na forum temat byl poruszany kilka razy, lecz jakos nic z tego nie wychodzi. Przez 4 godziny probowalem generowac w PDF:Writer oraz dochtml. Nic nie pomoglo, ani iconv ani zmiana fontow etc.

pozdrawiam

w prawn ustawiasz font jakiś z polskimi znakami i tyle

font “#{Prawn::BASEDIR}/data/fonts/DejaVuSans.ttf”
text “ὕαλον ϕαγεῖν δύναμαι· τοῦτο οὔ με βλάπτει.” * 20

i masz utf-8

o! dzieki :slight_smile: i od razu dziala, jeszcze jeden problem zostal do rozwiazania, czy jest jakas mozliwosc wstawienia znakow takich jak beta, lambda (http://www.chami.com/tips/internet/050798i.html)? piszac pdf.text “hello ś ź ł ó β” wyswietla β zamiast znaku?


na forum robi sie ladna beta lecz w pdfie: & #946; (oczywisice bez spacji)

wstaw bete odrazu czy każdy inny znak. Powinno pójść, czyli w edytorze gdzieś czy w necie poszukaj tego znaku i zrób kopiuj wklej i tyle.

rzeczywiscie poszlo :slight_smile: wielkie dzieki

pozdrawiam

[quote=gotar]w prawn ustawiasz font jakiś z polskimi znakami i tyle

font “#{Prawn::BASEDIR}/data/fonts/DejaVuSans.ttf”
text “ὕαλον ϕαγεῖν δύναμαι· τοῦτο οὔ με βλάπτει.” * 20

i masz utf-8[/quote]
Próbowałem tego i dostaję błąd Bad font family

sorki, miałem użyte :bold w szablonie, ale zostawmy może komuś się przyda :slight_smile:

Bold można mieć oczywiście też tylko czcionka tez musi być bold, zazwyczaj kazdy czcionka ma kilka rodzajów normal, bold, italic, bolditalic, Przełanczasz się miedzy nimi w prawn poprzez font

czesc
Nie trzeba za kazdym razem przełĄczać poprzez metode: pdf.font()

Wystarczy ustawic:

[code]pdf.font_families.update(“arial” => {
:bold => “#{Prawn::BASEDIR}/data/fonts/Arialb.ttf”,
:italic => “#{Prawn::BASEDIR}/data/fonts/Ariali.ttf”,
:bold_italic => “#{Prawn::BASEDIR}/data/fonts/Arialbi.ttf”,
:normal => “#{Prawn::BASEDIR}/data/fonts/Arial.ttf” })
pdf.font(“arial”)

a teraz tylko korzystac z atrybutu :style

:style => :normal jest atrybutem domyslnym,

gdy nie podajemy tego atrubuty przy wywolaniu metody pdf.text()

pdf.text “tekst zwykly”
pdf.text “tekst pogrubiony”, :style => :bold
pdf.text “tekst pochylony”, :style => :italic
pdf.text “tekst pogrubiony pochylony”, :style => :bold_italic[/code]
pozdrawiam
Sławek

Podepnę się pod temat: czy napotkał ktoś z Was na problem przy kopiowaniu polskich znaków z PDF-a wygenerowanego za pomocą Prawn? Na ekranie i w druku jest wszystko ok, natomiast nie kopiuje się polskie “ó” i “Ó” - zamiast nich wyświetlają się krzaki. Reszta polskich znaków kopiuje się poprawnie. Zna ktoś rozwiązanie tego problemu?

Sprawdzałeś różne czcionki czy tylko na jednej testowałeś? Nie wiem czy to ma jakiś wpływ, ale może to wina konkretnej czcionki.

Pytanie drugie: jakiej wersji Prawna używasz? Polecam tą prosto z github. Nowe wersje gema pojawią się dopiero dla 1.0 - za parę miesięcy.

drogus: sprawdzałem różne czcionki, linuxowe i windowsowe, bez efektów… (chociaż wszystkie były .ttf, może inny format by tu pomógł, sprawdzę to jeszcze)

hekto5: mam prawn 0.8.4, instalowany z gemcuttera, ale spróbuję jeszcze z githubem, dzięki za podpowiedź :wink:

EDIT:
hekto5, wielkie dzięki za podpowiedź :wink: Wygląda na to, że użycie gema wprost z Githuba załatwiło sprawę - przy okazji naprawiło się również kopiowanie “polskich” cudzysłowów i znaków specjalnych (półpauzy, itp.).

Chyba nikt się nie obrazi jeśli doprecyzuję że raczej chodzi o wersję zbudowaną z trunk gita, a nie z http://gems.github.com :).

Chyba nikt się nie obrazi jeśli doprecyzuję że raczej chodzi o wersję zbudowaną z trunk gita, a nie z http://gems.github.com :).[/quote]
Potwierdzam, że chodzi o wersję zbudowaną ze źródeł - aktualnie 0.10.0