Morganol wrote:Sorry for late reply.
No, my simple idea is not to export it using another program, and maybe not making changes in QET either.
The simple idea is that by making QET printing links so they visually looks like links, then i guess it is relatively simple to create a small separate program that parse the pdf and rewrites the links so they actually work like links.
Example: if i in xref and folio referencing settings fields put %F@%f%l%c,
then i will for folio "Pump", page 2, coordinate C7 get: Pump@2C7
If i enter such formatting in my example drawing from my post https://qelectrotech.org/forum/viewtopi … 5577#p5577 , it looks like the following screen-shot, and it also displays like that when opening the exported pdf.
Now if we had a small program that can process that pdf and make the links coma alive it would be great. the only thin i want it to do is find the number between the @ and a following alphabetical character and make a link of that to the page of that number.
OK the above is simplified, to make it work reliably we probably need a more reliable trigger than a one character "@"....
But we do not want a long trigger string to be shown at link in normal shema in QET nor printing to printer from QET.Having no idea how QET works, i can just say maybe it can temporarily automatically append "LINKME@" plus page number to every xref and folio ref formula just when printing to pdf.
The external program then scans for "LINKME@" and read the page number after it to create the link target, and remove "LINKME@" and the number from the visual part.
That will be compatible with any form of ref formula the user have chosen.
Except, user can nowhere write "LINKME@" but that is very little chance...
Maybe the external program, could even be an integrated part of QET, run automatically directly after initial file is exported, or even streamed so the first version of pdf never is externally written out.
Add Internal link with QET advanced text editor like <a href="#page=10"> work weel but you need only to open this PDF document with Google Chrome,
example with invisible text for link #page=10 on page 100 to go to page 10
<html><head/><body><p><a href="#page=10"><span style=" font-family:'Sans Serif'; font-size:9pt; text-decoration: underline; color:transparent;">10</span></a></p></body></html>
A possible hack is to use python library to open an PDF file generated by QET .. https://pythonguides.com/pdffilewriter-python-examples/
https://stackoverflow.com/questions/633 … ink-to-pdf
https://stackoverflow.com/questions/287 … nks-in-pdf
Link annotations in PDF documents are associated with a geometric region of a page rather than a particular object in a content stream. For this reason, link annotations alone are not useful for users with visual impairments, or to applications that must determine which content can be activated to invoke a hypertext link.
Tagged PDF /Link elements use PDF's logical structure to establish the association between content items and link annotations, providing functionality comparable to HTML hypertext links.
In HTML, the following example produces text containing a hypertext link:
Here is some text <a href="https://www.w3.org/WAI/"> with a link </a> inside.
In PDF the page must be painted first and then a link annotation placed over the area where the object action will occur.
The following code fragment shows PDF equivalent to the HTML above; it uses link text displayed in blue and underlined. A second code fragment follows, indicating the associated logical structure hierarchy. This is typically accomplished by an authoring tool.
/P <</MCID 0>> %Marked Content Sequence 0 (paragraph)
BDC %Begin marked content sequence
BT %Begin text object
/F1 11.04 Tf %set text font and size
1 0 0 1 72.024 709.54 Tm %set text matrix
0 g %set non stroking color to black
0 G %set stroke color to black
[(H)3(ere )-4(is s)10(o)5(m)-4(e)9( t)-3(e)9(xt)-3( )] TJ %Show text preceding the link" Here is some text"
ET %end text object
EMC %end marked content sequence
/Span <</MCID 1>> %Marked Content Sequence 1 (underlined link text)
BDC %Begin marked content sequence
BT %Begin text object
1 0 0 1 152.42 709.54 Tm %set text matrix
0 0 1 rg %set non-stroking color to blue
0 0 1 RG %set stroke color to blue
[(with a )-2(li)3(n)14(k)] TJ %Show link text " with a link"
ET %end text object
0 0 1 rg %set stroke color to blue
152.42 707.62 45.984 0.72 re %rectangle operator - target area for the link
f* %fill the path using the even-odd rule
EMC %end marked content sequence
/P <</MCID 2>> %Marked Content Sequence 2 (paragraph)
BDC %Begin marked content sequence
BT %begin text object
1 0 0 1 198.41 709.54 Tm %set text matrix
0 g %set non stroking color to black
0 G %set stroke color to black
[( )] TJ %empty text string showing white space
ET %end text object
BT %begin text object
1 0 0 1 200.93 709.54 Tm %set text matrix
[(in)5(sid)5(e.)] TJ %show text following the link "inside."
ET %end text
BT %begin text object
1 0 0 1 229.97 709.54 Tm %set text matrix
[( )] TJ %empty text string showing white space
ET %end text object
EMC %end marked content sequence
The following code fragment is an excerpt from the logical structure that establishes the association between the content items and the link annotation:
11 0 obj %Object ID 11, generation 0, obj keyword
<</K[1 %immediate child of the structure tree root
<<
/Obj 26 0 R %reference to Object 26
/Type/OBJR %this object describes an indirect object reference
>>]
/P 12 0 R
/Pg 17 0 R
/S/Link
>>
endobj
26 0 obj %object ID 26 which is referenced by the OBJR in Object 11
<</A 31 0 R
/BS
<</S/S
/Type/Border
/W 0
>>
/Border[0 0 0] %a colorless border
/H/I
/Rect[150.128 694.558 200.551 720.0] %the boundaries defining target area where link annotation is active
/StructParent 1
/Type/Annot %Structure element is an annotation
/Subtype/Link
>> %It is a link annotation
endobj
31 0 obj %Object 31, gen 0, obj
<</S/URI %Object type is URI action
/URI(https://www.w3.org/WAI) %The Uniform resource identifier to resolve
>>
endobj
"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."Questions regarding QET belong in this forum and will NOT be answered via PM! – Les questions concernant QET doivent être posées sur ce forum et ne seront pas traitées par MP !