Posts by wpsupport

    WPTools 7 came out 8.5.2013 and was updated until 21.2.2017 - pretty long.

    The question is in which which file format do you want to save your document. The extra data is only saved to WPT.

    Extra is only created on demand only by the method MakeExtra which takes an initialization string. Since Extra is a string list, it can store several poperties.

    For just a string I would recommend to use the property Params.

    In WPTools 7 You cannot use OnTextObjGetTextEx to show information for the hyperlinks easily.

    That is something which works in the latest 9.3 - it will show extra information AFTER the actual link. (In WPTools 9.3 there are some nice improvements for such use case since it is used actively in a powerful documentation tool which needs to show dynamic hyperlink data.)

    Assumed this would be as simple as setting PrintString to the text I wanted, but that doesn't seem to be the case. If I wanted, for example, to change the displayed text to "Hello", how would I go about that?

    The text displayed by a hyperlink is not the hyperlink object, it is the text between [a] .. [/a] - so if you wantr to store a different text there you need to change that text. Itz is just regular text, just like in HTML.


    Next problem I faced was how to get the text object under the mouse in the mouse move event. Thought CodeObjectAtXY would get it, but it only fires when you are on the far right of the object and the far left of it (including from the edge of the object to the far left margin). GetObjectFromXY does the same.

    Yes, this is because the hyperlink objects are actually not visible. You see only the embedded text. Thats just like bookmarks and merge fields.

    CodeObjectAtXY will not work because of this, but you can get the position under the cursor and check for open objext at that position.

    This is what CodeInsideOf does:

    function CodeInsideOf(X, Y: Integer; objtype: TWPTextObjType)

    : TWPTextObj; overload;

    Can you send me the text as a document, preferably as *.WPT file?

    I tried to create one my myself, please see my e-mail.

    Based on that sample I created a function for you to remove the lines. You call it like this:

    RemoveEmptyLines( WPRichText1.FirstPar );

    WPRichText1.ReformatAll(false, true);

    Please see the code in my e-mail.

    Well, WPTools 7 is way outdated and I recommend to get the new version 9.3.

    How do you define "fields"? Since you look for '<' these do not appear to be merge fields.

    If it were merge fields you can use CodeGetList to get all merge fields, detect of the obj.EmbeddedText is empty and call DeleteParagraph for the parent paragraph of the respected fields.

    The code above assumes that the text is in a string list. It is insetad in an XML like structure of paragraphs. With WPTools it is best, and one of the huge advantage of WPTools underlying technology, that you can loop through all the paragraphs and manipulate text and attributes on basis of the reference to a TParagraph object.


    Mit dem stamping feature kann man mit WPViewPDF PLUS Seitennummern auf existierende PDFs aufbringen.

    Wenn man mit wPDF arbeitet, dann muss man als Programmierer hier ein wenig selber machen:

    1) Alle seiten in einer Liste von Metafiles speichern

    2) wPDF.BegindDoc

    3) Alle Seiten aus dem Speicher ausgeben und dann zusätzlich die Seitenzahl noch darüber zeichnen

    4) wPDF.EndDoc

    The new version is able to repair some broken PDF files. It is so able

    to load many PDF files which were not loaded by previous versions of WPViewPDF.

    WPViewPDF release 25.8.2023

    * Better compatibility to PDF files with wrong startxref value

    ++ PDF Repair Mode can be activated using SetGlobal

    SetGlobalParameter("RepairMode=X") with

    X = 0 - no PDF repair

    X bit 1 - initial PDF repair if XREF is not found

    X bit 2 - PDF repair if XREF was found but some reference values are wrong, i.e. if pages stay empty

    Default: 1 - only initial repair is active since mode 2 can find data which would be otherwise hidden.

    WPViewPDF release 11.8.2023

    * improved rendering for PDF files which use negative height in mediabox (very rare)

    WPViewPDF release 13.6.2023

    - avoid rendering of small bitmaps recursively in patterns to fix rendering delay

    * the regular setup does not include the legacy interface OCX anymore.

    Please request it from if you need it and do not have it from a previous version.

    You can also download a signed setup with the OCX from here:

    WPViewPDF release 30.5.2023

    - avoid endless loop while trying to fix corrupted PDF file

    * switch: SetGlobalParam('UseGIDInFonts=1') activates the direct use of the stored index for fonts which do not use an encoding property

    WPViewPDF release 24.4.2023

    - fix problem in annotation rendering which caused a stability issue

    * improved Type3 support - some characterprocs were not found

    WPViewPDF release 31.3.2023

    * improved text export for PDFs which use rotated text output

    + improved loading speed with compressed XREF

    + faster loading (and un-loading) for PDF files with very large bookmark trees

    WPViewPDF release 3.3.2023

    + when a user clicks on an item in the outlines (akn bookmarks) that clicked items is (and stays) displayed as underlined text.

    - disable space guessing for text export on really small text (<1pt)

    - improvement on password handling for protected files

    WPViewPDF release 4.2.2023

    - fixes potential 64bit problem in event handler

    WPViewPDF release 20.1.2023

    - with activated single page mode adding and modifying annotations did not work

    - improvement on intern password handling

    - fix in PDF rendering code to ignore move commands before path painting

    WPViewPDF release 11.1.2023

    - fix problem with hyperlink event in 64 bit

    + use command COMPDF_EngineOptions to disable object moving (bit 2) and resizing (bit 3)

    * some improvements in free text annotation creation (support NM and T parameter in Props)

    WPViewPDF release 30.12.2022

    - fix problem with DEFLATE under 64 bit

    + command COMPDF_Ann_AddAnnotation can be used to create FreeText annotations

    + command COMPDF_Ann_AddAnnotation can be used in CommandStr() with the parameters in a string parameter. The variables have to be separated by the character |

    - fix in annotation reader to avoid duplicated values for checkboxes

    * error event is now triggered while loading PDF for unknown encryption

    WPViewPDF release 20.12.2022

    - handles the error if a pdf contents stream cannot be found

    + COMPDF_GotoNamedDest can now be used to find the titele or part of the title of the caption of an outline (akn Bookmark)

    + COMPDF_GotoNamedDest can open the node of the outline entry in the treeview

    * disable the increase of images by 1/2 pixel for monochrome images

    WPViewPDF release 22.11.2022

    - support for PDF files which use TJ command in wrong way

    WPViewPDF release 10.11.2022

    - fix problem with some AES encrypted files

    - fix stability problem with some PDF in 64bit

    WPViewPDF release 22.10.2022

    - fix problem with attachments

    - fix internal exception when assigning value of annnotation

    * optimize reading of names with unicode contents

    WPViewPDF release 14.10.2022

    * avoid exception in deflate decompression

    - move page did not move pages visibly, this has been fixed.

    WPViewPDF release 20.9.2022

    + use command COMPDF_SetPagePaperBin to define a physical paper bin which is used by the print command

    Please note that the information cannot be saved in the PDF.

    Use the string parameter to select the page ranges to modify.

    WPViewPDF release 25.8.2022

    - fix the problem that page selection in viewer and by program code was not synchronized

    * selection in print dialog will now be possible if pages are selected

    * optimized annotation rendering code to better render annotations which are using nested form objects

    WPViewPDF release 23.7.2022

    + use command(COMPDF_SetSaveMode, 8192*2048) to deflate all streams >4KB if they do not use any filter

    + improved word wrap routine for multiline text fields

    + detect added GrayScale images and encode accordingly

    - fix problem with ftol_sse

    WPViewPDF release 23.5.2022

    - much enhanced combo box annotation handling and saving

    * improved support for PDF with problems

    -- added lines at the start

    -- decode/skip defective deflate streams

    - improved loading of compressed objects

    - improved scrolling with acrofields

    + COMPDF_Set_SetPageWidthHeightMode to change the way the commands SetPageWidth / SetPageHeight work

    + COMPDF_SetAllPagesShortSide and COMPDF_SetAllPagesLongSide

    + pdfMerge now understands new options LONGSIDE / SHORTSIDE to set a fixed page size to all pages for better compatibility to EPOST

    Hi, I checked the compression. I cannot find any problems.

    The increase in size most have to do with another change, i.e., higher bit depth. Did you also update from a different compiler.

    You can change the setting of the property StreamCompression to deflate or FastFlate.

    The wPDF VCL has these properties which affect the size of the PDF - recommended in bold style

    property CompressStreamMethod: TWPCompressStreamMethod

    wpCompressNone, wpCompressFlate, wpCompressRunlength, wpCompressFastFlate

    property JPEGQuality: TWPJPEGQuality

    wpNoJPEG, wpJPEG_10, wpJPEG_25, wpJPEG_50, wpJPEG_75, wpJPEG_100

    property FontMode: TWPPDFFontMode

    pUseTrueTypeFonts, wpEmbedTrueTypeFonts, wpEmbedSymbolTrueTypeFonts, wpUseBase14Type1Fonts, wpEmbedSubsetTrueType_Charsets, wpEmbedSubsetTrueType_UsedChar

    ,wpEmbedType3 // Build Type3 Subset Fonts

    ,wpEmbedCIDFonts // Shortcut for CID Mode, change everyhing in Fontmode !

    The equivalent for TextCompression is CompressStreamMethod.

    Both should be no problem. wPDF and WPViewPDF include the complete source code for the interface part so you can update to newer compilers easily.

    WPViewPDF cannot check the validity of the signature - but it can display many types of annotations.

    What problem do you have while displaying the document? It can be something unrelated to the signature, i.e. the index structure was damaged.

    The step from Delphi 2007 to XE2 is probably technology wise than WPTools 5 to 9.3 so I recommend to also upgrade WPTools if you go this path.

    WPTools V5 was built upon a very modern base which had been created with future technology in mind (at those times VCL.NET), so it can run with XE2 after some tweaks, but I do not recommend this.