ReportLab PDF kodiert nur einige Latin-2-Zeichen korrektPython

Python-Programme
Guest
 ReportLab PDF kodiert nur einige Latin-2-Zeichen korrekt

Post by Guest »

Ich versuche, ein Python-Programm für die Erstellung von PDF-Rechnungen zu schreiben. Die Textzeilen, die ich in ein neu generiertes PDF schreibe, sind auf Slowenisch mit Zeichen wie č, š, ž usw., die im lateinischen 2-Alphabet vorkommen.

Code: Select all

pdf = canvas.Canvas(...)
pdf.setFont("Helvetica", 3)
for line in receipt_lines:
textobject.textLine(line.rstrip())

pdf.drawText(textobject)
Der obige Code generiert korrekt ein PDF, allerdings werden einige der Latin-2-Zeichen (hauptsächlich „č“) stattdessen durch schwarze Quadrate ersetzt. Beispielsweise wird die Zeile:
„Račun je bil uspešno nastisnjen“ als „Ra~un je bil uspešno natisnjen“ angezeigt, wobei ~ auf ein einfaches schwarzes Kästchen im endgültigen PDF hinweist.
Ich verstehe, dass die Codierung mit der ReportLab-Bibliothek etwas knifflig ist, verstehe jedoch nicht, warum nur einige der Latin-2-Sonderzeichen in das PDF geschrieben werden falsch.
EDIT: Ich habe jetzt das Problem herausgefunden. Wenn Sie PDFs mit Latin-2-Zeichen generieren möchten, laden Sie eine Schriftart (.ttf oder ein anderes von ReportLab unterstütztes Dateiformat) herunter, die Latin-2-Zeichen enthält, da ReportLab standardmäßig keine anbietet.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post