Unter bestimmten Umständen wurden Linien nicht gezeichnet (abhängig vom Status der Canvas)
- diesen Fehler habe ich behoben und neu hochgeladen.
Unter bestimmten Umständen wurden Linien nicht gezeichnet (abhängig vom Status der Canvas)
- diesen Fehler habe ich behoben und neu hochgeladen.
Danke für die Rückmeldung,
das Fehlen der Rahmen kann ich jedoch mit den mir vorliegenden Testdaten (bzw - Toolbar, Tabelle einfügen) nicht nachstellen.
Freue mich über Zusendung von Testdatei, am besten im WPT Format.
Grüsse,
Julian
Es liegt nun eine neu WPTools Premium Edition zum Download bereit:
WPTools 8.05.0 beta
zunächst "beta" deswegen, da eine Menge Umstrukturierungen für die mögliche FireMonkey Unterstützung nötig waren.
OnGetSpecialText kann verwendet werden um bestimmte Header für bestimmte Seiten einzublenden. Diese Header können dann auch verlinkte Textboxen haben. Diese Texte dürfen aber nicht in diesem Event hergestellt werden da man sonst eine Recursion im Reformat hat.
Grundsätzlich ist die Frage welches Problem diese Textboxen lösen. Ich hatte schon gesagt, dass ein Formular Editor so nicht realisierbar ist, dies zumindest nicht so beabsichtigt ist.
OnMeasurePage kann prinzipiell wie oben verwendet werden - nur muss dann nach dem Reformat noch mal ReformatAll aufgerufen werden und dann keine neuen textbox erstellt werden.
OnMeasure wird im Reformat aufgerufen. Wenn man dort schon neuen Text erzeugt was ich nicht empfehlen kann, dann darf man dies nur einmal machen, also bereits erstellte Elemente erkennen und wieder verwenden.
Grundsätzlich sind Texte nach der Erstellung unsichtbar und werden erst nach der Initialisierung und Reformat sichtbar.
Ich glaube Ihr Ansatz erwartet etwas vom Editor für das er nicht gebaut wurde.
I went to "Blocklist Removal Center" on spamhaus.org, but they tell me
http://www.wptools.de is not listed in the DBL
Es ist beabsichtigt, dass Tabellenheaderauch vor umgebrochenen Zellen gezeichnet werden und entsprechend Platz gehalten wird.
Wenn Sie einen Beispieltext per mail schicken kann ich mir ansehen ob WPTools hier so arbeitet wie das gedacht ist.
Das neue Build der neuen Version 8 braucht noch da die FireMonkey arbeit einige Umstellungen erfordert haben.
Über die Property Frame kann man die Border einstellen, kein, dicker und dünner Rahmen.
Sorry, you cannot use WPViewPDF in WPF, only in WinForms.
License is in royalty free.
Annotations can be changed by direct access to the PDF objects.
This works by reading the XML used internally for the annotation, change certain properties and write it back.
A free text can use XML like this:
?xml version="1.0" encoding="utf-8"?>
<neutral value="###"></neutral>
<annot X="283.07" Y="44.43" W="141.99" H="60.92" prp.n.Subtype="FreeText" Font="Arial" Font-Size="0" _mult="3.28" prp.s.Contents="avyxcvxc"></annot>
The demo uses this code to show an editor and writes back the XML
var s : string;
begin
if pdf<>nil then
begin
s := pdf.CommandGetStr(COMPDF_Ann_XMLGetFromAnnots, '###', 0);
if ShowPopupEditor('Modify Annotations', s, true) then
begin
s := StringReplace(s, #13+#10, #32, [rfReplaceAll]);
s := StringReplace(s, #10, #32, [rfReplaceAll]);
pdf.CommandStrEx(COMPDF_Ann_XMLSetToAnnots, s, 0);
end;
end;
end;
Alles anzeigen
HTML does not support headers of tables - this is only supported by WPTools and a few RTF consumers.
I don't know what border flags you need. In special cases it makes sense to change the code in WPIOHTML.pas to writen the CSS styles you need. I do not exactly know which one you need-
Thanks for the hint - I change that domain in "creator" for next version.
But I wonder how serious that spamhaus.org service is.
Ich bin im Moment nicht im Büro. Sehen sie sich das Array Par.lines an. Dort stehen die Informationen um einen Absatz in Zeilen zu unterteilen.
Eine Tabelle liest man besser recursive.
Siehe die Beschreibung der Datenstrukturen. Die brauchen die Referenz NextPar und ChildPar. Next hilft hier nicht, das es selbst in ChildPar hineingeht.
Textboxen im Header haben das Problem, dass Header und textboxen Layer sind.
Das Aktivieren des Eingabemodus für derart verlinkte Textboxen wird in der nächsten Version mittels neuen EditOptonEx2 einschaltbar sein.
Ich sehe mir das an. Bin allerdings gerade verreist.
ZitatAuf der ersten Seite steht zum Beispiel der Adressblock, die Rechnungsnummer, Projektnummer etc. und die sollen mit einem eigens entwickelten Formulardesigner frei positionierbar sein, deswegen die Inputtextboxen frei positionierbar .
Ich halte dies für keine gute Idee. Textboxen können verwendet werden um alles um die Rechnung zu gestalten, aber für den Inhalt würde ich sie auf gar keinen Fall nehmen. Ich weiss auch nicht was der Vorteil sein wird. Die erzeugten Dokumente lassen sich nicht als DocX speichern da die Textboxen ja auf jeder Seite vorkommen sollen. Am 9.10. hatten Sie mich gefragt: "ich versuche ... in einem Dokument Texte fest zu positionieren, also wie bei einem Briefkopf den Adressblock. Rechts davon soll ein ebenso fest positioniertes Image sitzen (Firmenlogo)" - von dieser Nutzung bin ich bislang auch ausgegangen. Die Textboxen sollten das Problem lösen.
ZitatWenn möglich oder notwendig erstelle ich auch mal ein Miniprojekt was das demonstriert, kann ich das hier irgendwie hochladen?
Meine e-mail kennen Sie ja. Ich muss allerdings den support hierzu berechnen, da dies keine Standard Nutzung ist. Es sind inzwischen auch schon eine menge Anfragen.
Ein Verschwinden des Textes kann ich nicht nachvollziehen. Intern ist es so, die Textbox enthält text welcher an der Grösse der Box umgebrochen wird. Evtl. wird eine 2. Seite erstellt welche dann aber nicht mehr angezeigt wird. Im Zweifelsfall speichern Sie das Dokument bitte im WPT Format und schicken es mir. Ich sehe es mir dann hier an und kann beurteilen, ob WPTools im Sinne des Erfinders arbeitet.
Grüsse,
Julian
Die Textboxen können auch an Seite oder am Absatz gebunden sein. Wenn am Absatz gebunden, stehen sie immer unterhalb.
Wenn am Header gebunden fängt "ihre" Seite aber an der Oberkante des Headers an, RelY muss demnach negativ sein.
Zur Eingabe sind solche Boxen ohnehin nicht geeignet, sondern nur zur Ausgabe, Briefkopf o.ä.
Ich weiss jetzt nicht was Sie machen wollen, aber einen Formular Editor kann man damit nicht bauen.
Mehrseitige Textboxen werden nicht unterstützt - Textboxen zeigen immer nur den Text der in die Box passt, bzw. dessen erste Seite die leer ist, wenn dort nur #13 stehen.
wplayLayout zeigt keine Header texte an und damit auch nicht die Textboxen, welche dort verankert sind.
Daher geht nur full layout, kein Normal o.a.
// var RTFDataBlock : TWPRTFDataBlock;
RTFDataBlock := WPRichText1.HeaderFooter.Get(wpIsHeader,wpraOnFirstPage,'');
WPRichText1.ActiveText := RTFDataBlock;
WPRichText1.InputTextbox('', 2000, 300, true).RelY := 300;
WPRichText1.InputString('Diese Box steht im Header');
WPRichText1.ActiveText := RTFDataBlock;
WPRichText1.InputTextbox('', 2000, 300, true).RelY := 2000;
WPRichText1.InputString('Diese Box steht auch im Header');
WPRichText1.ActiveText := WPRichText1.BodyText;
wpraOnFirstPage habe ich zum Testen genommen.
Wenn AttrHelper.Get...() FALSE zurück liefert, ist das Attribut nicht an der Position des Zeichens nicht definiert sondern wird geerbt, vom Absatz vom Absatzstil oder von WPRichText.DefaultAttr, in dieser Reihenfolge.
Um die Schriftgrösse des Absatzes (bzw. Stiles) auszulesen kann man
value := par.AGetDefInherited( WPAT_FontSize, DefaultFontSize )
verwenden. Dieser code müsse dann also in dem FALSE zweig ausgeführt werden.