Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem prilikom snimanja karaktera č i ć u pdf - FastReport 2.3 + Lazarus

[es] :: Pascal / Delphi / Kylix :: Problem prilikom snimanja karaktera č i ć u pdf - FastReport 2.3 + Lazarus

[ Pregleda: 2148 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

salvaric
Novi Sad

Član broj: 53995
Poruke: 204
*.dynamic.isp.telekom.rs.



+4 Profil

icon Problem prilikom snimanja karaktera č i ć u pdf - FastReport 2.3 + Lazarus21.12.2017. u 08:46 - pre 76 meseci
Pozdrav društvo,

imam problem prilikom snimanja reporta u pdf, ne prihvata karaktere "č" i "ć", ispisuje samo "?", dok na samom prikazu reporta prikaže sve kako treba.

Pokušavao sam na više načina, al nikako da odgonetnem u čemu je kvaka, verovatno negde prilikom eksporta podataka prilikom snimanja.

Nadam se da je neko imao sličan problem, da skratim sebi muke, već dva dana me to koči da završim neki poslić.

Nije mi rešenje da idem preko nekog pdf printera (CutePdf i sl., i ako preko toga sačuva kako treba), pošto je u pitanju izrada više stotina izveštaja u pdf formatu koje kupim iz baze.
Nikad izvini!
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Problem prilikom snimanja karaktera č i ć u pdf - FastReport 2.3 + Lazarus21.12.2017. u 09:19 - pre 76 meseci
Šta koristiš za snimanje u pdf? FastReport ima svoj alat, ili?
Jesi probao koristiti synpdf?
Makar on i meni u rijetkim situacijama radi probleme sa "našim" slovima. Kada snimim pdf kod sebe i otvorim, vidim naša slova, a u rijetkim slučajevima kada to pošaljem nekome na mail se ne vide naša slova. Nije mi to nikako jasno, ali su jako rijetke situacije pa se nisam time puno bavio.
F
 
Odgovor na temu

salvaric
Novi Sad

Član broj: 53995
Poruke: 204
*.dynamic.isp.telekom.rs.



+4 Profil

icon Re: Problem prilikom snimanja karaktera č i ć u pdf - FastReport 2.3 + Lazarus21.12.2017. u 13:24 - pre 76 meseci
FastReport ima svoj neki alat za snimanje u txt,pdf,csv.

Imam dosta izveštaja već odrađenih u njemu, tako da prelazak na neku drugu komponentu bi mi oduzelo dosta vremena za ponovno kreiranje reporta.

Kad snimim report u txt, upiše kako treba.
Nikad izvini!
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Problem prilikom snimanja karaktera č i ć u pdf - FastReport 2.3 + Lazarus21.12.2017. u 14:25 - pre 76 meseci
Pogledaj u source od fastreporta taj dio snimanja u pdf pa postavi ovdje, možda nađemo rješenje.
F
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Problem prilikom snimanja karaktera č i ć u pdf - FastReport 2.3 + Lazarus21.12.2017. u 14:30 - pre 76 meseci
Probaj samo za test postaviti ovaj font: DejaVu Sans i vidi da li onda sprema kako treba?
F
 
Odgovor na temu

salvaric
Novi Sad

Član broj: 53995
Poruke: 204
87.116.176.*



+4 Profil

icon Re: Problem prilikom snimanja karaktera č i ć u pdf - FastReport 2.3 + Lazarus21.12.2017. u 18:43 - pre 76 meseci
Probao sam al ništa.

Pronašao sam u PDFType.pas
Code:
function CP1252(const W: Word; const InvalidChar: Char): Char;
begin
  case W of
    $00..$7F,$A0..$FF: result := char(W);
    $20AC: result := #$80;
    $201A: result := #$82;
    $0192: result := #$83;
    $201E: result := #$84;
    $2026: result := #$85;
    $2020: result := #$86;
    $2021: result := #$87;
    $02C6: result := #$88;
    $2030: result := #$89;
    $0160: result := #$8A;
    $2039: result := #$8B;
    $0152: result := #$8C;
    $017D: result := #$8E;
    $2018: result := #$91;
    $2019: result := #$92;
    $201C: result := #$93;
    $201D: result := #$94;
    $2022: result := #$95;
    $2013: result := #$96;
    $2014: result := #$97;
    $02DC: result := #$98;
    $2122: result := #$99;
    $0161: result := #$9A;
    $203A: result := #$9B;
    $0153: result := #$9C;
    $017E: result := #$9E;
    $0178: result := #$9F;
  else
        result:=InvalidChar;
  end;
end;

i
Code:
function _UTF8ToWinAnsi(const value: string; InvalidChar:char='?'): string;
var
  W: widestring;
  i: Integer;
begin
   W := UTF8Decode(Value);
  result := '';
  for i:=1 to length(w) do
    result := result + CP1252(word(w[i]), InvalidChar);
end; 


Nikad izvini!
Prikačeni fajlovi
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Problem prilikom snimanja karaktera č i ć u pdf - FastReport 2.3 + Lazarus21.12.2017. u 20:47 - pre 76 meseci
Pošto ti printa ? a ? je ovdje definiran kao InvalidChar, to nam govori da nema naših znakova u CP1252.
Ali $017D bi trebalo biti slovo Ž tako da mi nije jasno zašto ne daje rezultat.

Šta dobiješ ako napraviš ovo:

Code:

function _UTF8ToWinAnsi(const value: string; InvalidChar:char='?'): string;
var
  W: widestring;
  i: Integer;
begin 
  result := value;
end; 


[Ovu poruku je menjao captPicard dana 21.12.2017. u 21:59 GMT+1]
F
 
Odgovor na temu

salvaric
Novi Sad

Član broj: 53995
Poruke: 204
*.mbb.telenor.rs.



+4 Profil

icon Re: Problem prilikom snimanja karaktera č i ć u pdf - FastReport 2.3 + Lazarus21.12.2017. u 21:36 - pre 76 meseci
Ova gore funkcija ispisuje š i ž, al ne čćđ.
Pokušavao sam i to, al onda izbaci neke druge karaktere, tipa A sa onim kvakicama i tačkicama oko sebe.
Nikad izvini!
 
Odgovor na temu

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Re: Problem prilikom snimanja karaktera č i ć u pdf - FastReport 2.3 + Lazarus22.12.2017. u 09:02 - pre 76 meseci
Treba sa dodas ove kodoveu tu listu kodova:


Code (delphi):


...
  function WSC(ws: WideString): WideChar;
  begin
    Result := ws[1];
  end;
begin
  Memo1.Lines.Add('$' + IntToHex(ord(WSC('Č')), 4) + ': result := #$'+ IntToHex(Ord(AnsiChar('Č')), 2));
  Memo1.Lines.Add('$' + IntToHex(ord(WSC('č')), 4) + ': result := #$'+ IntToHex(Ord(AnsiChar('č')), 2));
  Memo1.Lines.Add('$' + IntToHex(ord(WSC('Ć')), 4) + ': result := #$'+ IntToHex(Ord(AnsiChar('Ć')), 2));
  Memo1.Lines.Add('$' + IntToHex(ord(WSC('ć')), 4) + ': result := #$'+ IntToHex(Ord(AnsiChar('ć')), 2));
...

 


Inace 1252 je cirilicna strana 1251 je latinicna.
 
Odgovor na temu

salvaric
Novi Sad

Član broj: 53995
Poruke: 204
*.mbb.telenor.rs.



+4 Profil

icon Re: Problem prilikom snimanja karaktera č i ć u pdf - FastReport 2.3 + Lazarus22.12.2017. u 11:12 - pre 76 meseci
1252 je latinična a 1251 je ćirilična.

Ne prolazi ni ovo...
Nikad izvini!
 
Odgovor na temu

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Re: Problem prilikom snimanja karaktera č i ć u pdf - FastReport 2.3 + Lazarus22.12.2017. u 11:51 - pre 76 meseci

Hm. izgleda imam vec toliko godina da sam poceo da zaborvaljam :( 1252 je latinicna, probacu ponovoda zapamtim :)
 
Odgovor na temu

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Re: Problem prilikom snimanja karaktera č i ć u pdf - FastReport 2.3 + Lazarus22.12.2017. u 19:59 - pre 76 meseci
Sad sam uspeo da pogledam PDFType.pas i tamo ima i CP1250. To je ovdasnja kodna strana koju sam ja pozaboravljao :)

Ako se doda u CP1250 ovi kodovi:

$010C: result := #$C8
$010D: result := #$E8
$0106: result := #$C6
$0107: result := #$E6


i ako se izmeni ovako:

Code (delphi):

function _UTF8ToWinAnsi(const value: string; InvalidChar:char='?'): string;
var
 
  W: widestring;
 
  i: Integer;

begin
 
  W := UTF8Decode(Value);
 
  for i:= 1 to length(w) do
   
    result := result + CP1250(word(w[i]), InvalidChar);
 
  showmessage(result);

end;
 


i pozove ovako:

_UTF8ToWinAnsi(UTF8Encode('ČčĆć'));

onda ce se videti poruka sa tim slovima.

Showmessage moze da ostane i kad startuje pravljenje pdf pojavice se poruka i onda moze da se vidi da li su slova slova tu, pre nego sto se napravi pdf.
 
Odgovor na temu

salvaric
Novi Sad

Član broj: 53995
Poruke: 204
*.mbb.telenor.rs.



+4 Profil

icon Re: Problem prilikom snimanja karaktera č i ć u pdf - FastReport 2.3 + Lazarus23.12.2017. u 07:25 - pre 76 meseci
To se verovatno igrao neko pre mene sa ovim, pa je ostala ta funkcija cp1250, ali koliko vidim u units-u, nema ulogu.

Problem je još negde dublje, verovatno negde na samom ispisu u dokument, nisam ranije radio sa pdf-om, ne znam na koji način funkcioniše, tražio sam po units-ima negde dal se spominje codepage il nešto sl., al nisam našao. Mislim da funkcioniše nešto poput html, što se tiče ptikaza, i da se negde može to definisati al nemam sreće da nađem.

Funkcija _UTF8ToWinAnsi priprema odgovarajući string kodiran u cp1252, verovatno je tako i definisano negde samoj ustrukturi pdf-a da takve prepoznaje i ispisuje.

Hvala u svakom slučaju na trudu...
Nikad izvini!
 
Odgovor na temu

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Re: Problem prilikom snimanja karaktera č i ć u pdf - FastReport 2.3 + Lazarus23.12.2017. u 08:40 - pre 76 meseci

Pre dvadesetak fodina sam pravio program koji prikauje cirilicu ili latinicu u svim komponentama i manijima.
Tada je moralo da se radi sa kodnim stranama a sada su windowsi unikodni.
Tako da sam se ja tada truedio a sad sam se samo prisecao :)
 
Odgovor na temu

salvaric
Novi Sad

Član broj: 53995
Poruke: 204
*.mbb.telenor.rs.



+4 Profil

icon Re: Problem prilikom snimanja karaktera č i ć u pdf - FastReport 2.3 + Lazarus23.12.2017. u 09:59 - pre 76 meseci
Alternativa mi je da upisuje C umesto Č i Ć, to sam uspeo kroz ovu funkciju, tako ću rešiti privremeno i slati izveštaje, a za dalje ću se morat malo namučiti dok to ne rešim.
Nikad izvini!
 
Odgovor na temu

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Re: Problem prilikom snimanja karaktera č i ć u pdf - FastReport 2.3 + Lazarus23.12.2017. u 11:51 - pre 76 meseci

Ako ae u guglu ukuca "region settings windows code page" izbaci kratko uputstvo kako se menja kodna strana a tako moze i da se proveri.
Recimo, ako je Serbian cirilic onda latinica ne moze da se vidi.

Ne tvrdim da je to ovde slucaj ili problem nego samo dodajem jer je to u vezi sa kodnim stranama i sa ovom temom.
 
Odgovor na temu

salvaric
Novi Sad

Član broj: 53995
Poruke: 204
87.116.176.*



+4 Profil

icon Re: Problem prilikom snimanja karaktera č i ć u pdf - FastReport 2.3 + Lazarus23.12.2017. u 17:24 - pre 76 meseci
Rešeno,

lazarus ima još jedan alat za export u pdf (lrCairoExport), koji je jednostavniji za prilagođavanje i ispisuje sve kako treba.

Hvala svima!
Nikad izvini!
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Problem prilikom snimanja karaktera č i ć u pdf - FastReport 2.3 + Lazarus

[ Pregleda: 2148 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.