Posts by wpsupport

    JPEG is a format which can be directly embedded into PDF so executing


    WPWriteComment( toCanvas.Handle, 3022, BoundsRect, DataPtr, DataLen);


    is correct, as long as the data is really JPEG data. Is the file extension incorrectly set?

    Es ist nicht sinnvoll bei RTF text mit strings zu arbeiten, verwenden Sie memory streams. RTF ist ANSI code und man kann nie wissen, ob bei der Umwandlung in einen unicode string eine code page umwandlung den code verändert. Desweiteren kann man einen memorystream immer leicht als Datei abspeichern, für debugging zwecken.


    Ich habe Ihren text hier mal in eine Textbox geladen, ich sehe schon die unterschiedlichen Grössen.


    Einen String konnte ich nicht bauen, da Ihre Debugger Quelle dafür keine Vorlage darstellt.

    I recommend to create a merge field and inside the merge field an image as a placeholder.


    Using the OnTextObjectPaint event ist is possible to know the position and page number:

    Ich hab das mal schnell getestet (mit anonymer Funktion)



    Das Resultat ist wie erwartet:


    Code
    1. -1 -1 -1
    2. -1 -1 -1
    3. 1 1 1
    4. 2 2 2
    5. 3 3 3
    6. -2 -2 -2
    7. -2 -2 -2

    Die Erkennung von "SubHeader" ist nicht optimal, einfacher geht es mit durchzählen:

    Wenn man die Kompression in wPDF abstellt, kann man die PDF in einem ganz normalen text betrachter (notepad++) ansehen.


    Ich verwende ein rudimentäres, selbst gebautes PDF werkzeug.

    Thanks for asking - you can implement special borders also using the callbacks CustomLinePaintBefore and CustomLinePaintAfter.


    Of course you need to detect somehow which paragraphs should have a border.


    Der Text im Footer oder Header wird nicht konkret für jede Seite formatiert.


    Daher ist es wichtig derartige Objekte so mit Leerstellen aufzufüllen, dass die Werte auf allen Seiten hineinpassen. Das lässt sich technisch nicht anders machen.

    This means tagged PDF which wPDF always was able to create, but it requires special graphic routines and will created by the WPTools export.

    At start the validators did not complain about those tags, in contrary, marked them as mistakes. Most PDF do not use tags.


    In "Modes" there is a switch: wpNoAutoTagsForPDFA

    Unless this flag is used a page tag is always added, mostly to disable error messages.

    Die Demo macht dies ja so:

    Code
    1.      for j:=page.EmbeddedObjectCount([wpobjTextObject])-1 downto 0 do
    2.      begin
    3.         obj := page.EmbeddedObjectGet(j);
    4.         if obj.Name='LASTTOTAL' then
    5.         begin
    6.           ResultText := obj.Params;
    7.           UseIt := TRUE;
    8.           exit;
    9.         end;
    10.      end;

    und das funktioniert auch. EmbeddedObjectCount initialisiert ja, wie Sie sicher im Quellcode gesehen haben, die Liste sodass der Fehler vermutlich woanders herkommt.


    Wenn Sie das $DEFINE WPDEBUG aktivieren bekommen Sie einen konkreten Hinweis darauf, wo der Laufzeitfehler auftritt.