• Für unsere reports haben wir neuerdings einen neuen Font ausprobiert:
    HelmetCondensed, ein True Type Font

    Dieser Font scheint im PDF-Ausdruck Probleme mit dem Spacing zu haben, ich habe aber keine Ahnung was der Grund dafür sein könnte.
    Falls der Font nicht installiert ist wird Arial in das PDF eingebettet und das Dokument scheint OK zu sein.

    Hat da irgendjemand eine Idee?

    Rabatscher Michael

    P.S.: Falls Beispieldateien benötigt werden kann ich diese natürlich zukommen lassen.

  • Ich benutze folgende Schleife um das Dokument auszudrucken:


    Code
    for counter := 0 to richText.CountPages - 1 do           begin                // in this version of wpTools the PageHeight/Width seems to be OK                // the Header property (should be called PageProperty...) holds                // the physical width and height in TWIPS of the page                // one twip is a 1/1440 of an inch!                StartPage(MulDiv(richText.Header.PageWidth, ScreenDpi.cx, 1440),                                 MulDiv(richText.Header.PageHeight, ScreenDpi.cy, 1440),                                 ScreenDpi.cx, ScreenDpi.cy, 0);                OutRect := Rect(0, 0, MulDiv(richText.Header.PageWidth, ScreenDpi.cx, 1440), MulDiv(richText.Header.PageHeight, ScreenDpi.cy, 1440));                h := outRect.Bottom - outRect.Top;                w := outRect.Right - outRect.Left;                try                   // render the rtf page to the pdf printer                   // note that without wppNoPageBackground the watermark would be                   // overpainted!                   richText.Memo.PaintRTFPage(counter, 0, 0, w, h, Canvas, [wppNoPageBackground]);                   // this metafile seems to be ok and looks nice                   bmp := TMetafile.Create;                   bmp.Width := w;                   bmp.height := h;                   canv := TMetafileCanvas.Create(bmp, Canvas.Handle);                   richText.Memo.PaintRTFPage(counter, 0, 0, w, h, canv, [wppNoPageBackground]);                   canv.Free;                   bmp.SaveToFile(Format('D:\final_%d.emf', [counter]));                   bmp.Free;                finally                       EndPage;                end;           end;

    Das TWPPDFPrinter objekt wird mit


    initialisiert.

    Irgend eine Idee?

    mfg
    Rabatscher Michael

  • Es scheint, dass anstelle von HelmetCondensed Arial eingebunden wird...

    Zitat


    der Font kann vermutlich nicht mit GetFontData() abgerufen werden. Evtl ist auch der Name das Problem - vielleicht heisst der etwas anders in seiner Beschreibung.

    Und was bedeutet das genau bzw. wie kann ich das umschiffen?

    WPTools und scheint allerdings die Seite korrekt anzuzeigen, wenn ich das File mittels eines WPTools Editors öffne.

    mfg
    Rabatscher Michael[/quote]

  • Es scheint doch nicht wirklich am Font gelegen zu sein. Das Dokument wurde mit OpenOffice erstellt und als RTF exportiert. Dabei wurde auch eine Graphik eingebunden, die, wie es sich herausstellte, zu einer Exception beim Laden des Files führte (invalid Metafile handle). Obwohl das Dokument an sich normal dargestellt wurde (und der Ausdruck auch perfekt war, falls die Schriftart Helmet... nicht installiert wurde) scheint diese Exception der Grund für das Spacingproblem zu sein.

    Gibt es irgendwelche anderen Hinweise, dass OpenOffice generierte RTF Dateien nicht kompatibel sind?

    mfg
    Rabatscher Michael