RT#6886: FR: Ability to move the base point of a callout tool arrow anywhere on the text box rectangle

Please post any ideas or requests for new features here for the End User Version of PDF-XChange (printer Drivers)

Moderators: PDF-XChange Support, Daniel - PDF-XChange, Chris - PDF-XChange, Sean - PDF-XChange, Vasyl - PDF-XChange, Ivan - Tracker Software, Stefan - PDF-XChange, Tracker - Clarion Support, John - Tracker Supp, Support Staff, moderators

User avatar
rakunavi
User
Posts: 2258
Joined: Sat Sep 11, 2021 5:04 am

RT#6886: FR: Ability to move the base point of a callout tool arrow anywhere on the text box rectangle

Post by rakunavi »

Hello all,

In the current PDF-XChange Editor, the position of the root of the callout arm seems to be fixed at the center of each edge of the rectangle, and it does not seem possible to specify an arbitrary position. On the other hand, there are PDF applications such as Drawboard PDF that allow arbitrary positions to be specified.

  • figure.png

    PDFXCE.gif

    DrawboardPDF.gif
  • sample.zip

From reading the PDF 32000-1:2008 standard, it does not seem that there is a restriction that the position must be in the middle of each edge. When I draw a callout in Drawboard PDF, I rarely set the root of the arm in the middle of the edge, so it would be nice to be able to set it freely in PDF-XChange Editor as well.

  • PDF32000_2008_p396.png

    PDF32000_2008_p397.png
  • Document management - Portable document format — Part 1: PDF 1.7 (PDF 32000-1:2008)
    https://opensource.adobe.com/dc-acrobat-sdk-docs/pdfstandards/PDF32000_2008.pdf
If someone has already requested this, I will vote for it. If not, I would appreciate your consideration.

Thank you for taking the time to read this message.

Best regards,
rakunavi

- PDF-XChange Editor Plus Version: 10.2.1 build 385
- Drawboard PDF 5.39.17.0
- OS Version: Windows 11 Home 23H2 Build 22631.3447
- PC Model: Lenovo IdeaPad C340-15IWL, HP All-in-One 22-c0xx
You do not have the required permissions to view the files attached to this post.
Last edited by rakunavi on Mon Sep 01, 2025 9:16 pm, edited 1 time in total.
Top needs for PDFXCE
forum.pdf-xchange.com/viewtopic.php?t=39665 LassoTool
forum.pdf-xchange.com/viewtopic.php?t=38554 CmtGarbled
forum.pdf-xchange.com/viewtopic.php?t=37353 FullScrnMultiMon
forum.pdf-xchange.com/viewtopic.php?t=41002 DisableTouchSelect
User avatar
Stefan - PDF-XChange
Site Admin
Posts: 19951
Joined: Mon Jan 12, 2009 8:07 am

Re: Is it possible to set the root of the arm of the callout comment at a position other than the center of each edge?

Post by Stefan - PDF-XChange »

Hello rakunavi,

I did spend some time reading the ISO specification as well, and just like yourself I can not find a restriction in there. However in practice it seems like Drawboard is doing this with an "appearance dictionary" - so the moment you try to edit that callout (both in our Editor and in Adobe ) that appearance is lost and you can not further change this callout's arm starting position. You can still change the end point and the 'knee', but if you end up with a position where the start point can be placed differently - adobe resets that to the centre of the side on which the callout is:
image.png
So I will check with our devs if this is something we can make as a feature request, however while not specifically limited in the specification - if Adobe do it as 'centers only' - I can not promise that we would be able to offer this as a feature ourselves.

Kind regards,
Stefan
You do not have the required permissions to view the files attached to this post.
User avatar
rakunavi
User
Posts: 2258
Joined: Sat Sep 11, 2021 5:04 am

Re: Is it possible to set the root of the arm of the callout comment at a position other than the center of each edge?

Post by rakunavi »

Hello Stefan, thank you for your reply.

Thanks to you, I learned that Drawboard PDF has a special implementation. I understood that it might be difficult to implement if the specification and compatibility are important. Thank you for taking the time in your busy schedule just before the release of the new build to look into this matter.

Please give my best regards to the developers.

Best regards,
rakunavi
Top needs for PDFXCE
forum.pdf-xchange.com/viewtopic.php?t=39665 LassoTool
forum.pdf-xchange.com/viewtopic.php?t=38554 CmtGarbled
forum.pdf-xchange.com/viewtopic.php?t=37353 FullScrnMultiMon
forum.pdf-xchange.com/viewtopic.php?t=41002 DisableTouchSelect
User avatar
Stefan - PDF-XChange
Site Admin
Posts: 19951
Joined: Mon Jan 12, 2009 8:07 am

Re: Is it possible to set the root of the arm of the callout comment at a position other than the center of each edge?

Post by Stefan - PDF-XChange »

Hello rakunavi,

Glad I could do that much!
And yes - the new build should be out this week if all goes well!

I will pass your kind words to the devs and am still awaiting their feedback on the initial request!
We will post again here as soon as there is any update!

Kind regards,
Stefan
User avatar
Stefan - PDF-XChange
Site Admin
Posts: 19951
Joined: Mon Jan 12, 2009 8:07 am

Re: Is it possible to set the root of the arm of the callout comment at a position other than the center of each edge?

Post by Stefan - PDF-XChange »

Hello again Rakunavi,

After looking at the specification - our devs also confirmed that technically it should not be a problem to have the callout arrow base point anywhere on the rectangle, however for some reason the majority of other PDF products were forcing that base point to be at the centre of a side. I got approval to create this FR ticket:
#6886: FR: Ability to move the base point of a callout tool arrow anywhere on the text box rectangle.

So we will be looking at improving the Editor in that respect, thought if you then open a file with such annotation in Adobe, and try to edit it there - they will likely still force the base point to the centre of a side.

Kind regards,
Stefan
User avatar
rakunavi
User
Posts: 2258
Joined: Sat Sep 11, 2021 5:04 am

Re: Is it possible to set the root of the arm of the callout comment at a position other than the center of each edge?

Post by rakunavi »

Hello Stefan, thank you for informing me of the result of your initial review. Thank you also for creating the ticket.

Even now, when drawing with JavaScript, I can freely set the position, but I cannot draw every time with JavaScript, so I will wait for the restriction to be relaxed someday, holding a faint hope.

  • figure.png

Code: Select all

var annot = this.addAnnot
({
	page: this.pageNum,
	type: "FreeText",
	intent: "FreeTextCallout",
	callout: [250, 500, 140, 450, 140, 400],
	lineEnding: "OpenArrow",
	rect: [100, 300, 300, 400]
})
Best regards,
rakunavi
You do not have the required permissions to view the files attached to this post.
Top needs for PDFXCE
forum.pdf-xchange.com/viewtopic.php?t=39665 LassoTool
forum.pdf-xchange.com/viewtopic.php?t=38554 CmtGarbled
forum.pdf-xchange.com/viewtopic.php?t=37353 FullScrnMultiMon
forum.pdf-xchange.com/viewtopic.php?t=41002 DisableTouchSelect
User avatar
Stefan - PDF-XChange
Site Admin
Posts: 19951
Joined: Mon Jan 12, 2009 8:07 am

Is it possible to set the root of the arm of the callout comment at a position other than the center of each edge?

Post by Stefan - PDF-XChange »

:)
User avatar
⚜ Kenny Lemens, P.E. ᵂᴵ
User
Posts: 51
Joined: Thu Jan 23, 2025 4:09 pm

Re: Is it possible to set the root of the arm of the callout comment at a position other than the center of each edge?

Post by ⚜ Kenny Lemens, P.E. ᵂᴵ »

Greetings,

As thanks for presenting this idea, I give you the following code that will rotate the callout arm around the selected callout:

Code: Select all

var arySelectedAnnots = this.selectedAnnots;

   for (var i = 0; i < arySelectedAnnots.length; i++) {
      var iCurrent = arySelectedAnnots[i];
      if(iCurrent.intent == "FreeTextCallout"){
         var intExtend = 0.25 * 72;
         if(JSON.stringify(iCurrent.callout) == JSON.stringify([iCurrent.callout[0], iCurrent.callout[1],
                     intExtend + iCurrent.rect[0], intExtend + iCurrent.rect[3],
                     intExtend + iCurrent.rect[0], 0 + iCurrent.rect[3]])){
            iCurrent.callout = [iCurrent.callout[0], iCurrent.callout[1],
                              -intExtend + iCurrent.rect[2], intExtend + iCurrent.rect[3],
                              -intExtend + iCurrent.rect[2], 0 + iCurrent.rect[3]];
         }else if(JSON.stringify(iCurrent.callout) == JSON.stringify([iCurrent.callout[0], iCurrent.callout[1],
                     -intExtend + iCurrent.rect[2], intExtend + iCurrent.rect[3],
                     -intExtend + iCurrent.rect[2], 0 + iCurrent.rect[3]])){
            iCurrent.callout = [iCurrent.callout[0], iCurrent.callout[1],
                              -intExtend + iCurrent.rect[2], -intExtend + iCurrent.rect[1],
                              -intExtend + iCurrent.rect[2], 0 + iCurrent.rect[1]]
         }else if(JSON.stringify(iCurrent.callout) == JSON.stringify([iCurrent.callout[0], iCurrent.callout[1],
                     -intExtend + iCurrent.rect[2], -intExtend + iCurrent.rect[1],
                     -intExtend + iCurrent.rect[2], 0 + iCurrent.rect[1]])){
            iCurrent.callout = [iCurrent.callout[0], iCurrent.callout[1],
                              intExtend + iCurrent.rect[0], -intExtend + iCurrent.rect[1],
                              intExtend + iCurrent.rect[0], 0 + iCurrent.rect[1]]
         }else{
            iCurrent.callout = [iCurrent.callout[0], iCurrent.callout[1],
                              intExtend + iCurrent.rect[0], intExtend + iCurrent.rect[3],
                              intExtend + iCurrent.rect[0], 0 + iCurrent.rect[3]]
         }
      }
      }
Plenty of room for improvement, but this way you don't have to create it from scratch, you can just draw a callout and then run the above code to reposition the Callout Arm.

May this be of Good Help;
⚜ Kenny Lemens, P.E. ᵂᴵ
User Plugins: https://is.gd/A9HMPG || PDF-XChange Icons: https://is.gd/Z4GeG8
[Migration] Revu Bluebeam 17 to PDF-XChange Editor: https://is.gd/8Xs1OF
User avatar
rakunavi
User
Posts: 2258
Joined: Sat Sep 11, 2021 5:04 am

Re: Is it possible to set the root of the arm of the callout comment at a position other than the center of each edge?

Post by rakunavi »

Hello ⚜ Kenny Lemens, P.E. ᵂᴵ,

Thank you for your attention to the topic and for your valuable scripts. I will refer to it. It is definitely a great step forward compared to reopening the file in Drawboard PDF and adding a callout.

  • Animation.gif
Best regards,
rakunavi
You do not have the required permissions to view the files attached to this post.
Top needs for PDFXCE
forum.pdf-xchange.com/viewtopic.php?t=39665 LassoTool
forum.pdf-xchange.com/viewtopic.php?t=38554 CmtGarbled
forum.pdf-xchange.com/viewtopic.php?t=37353 FullScrnMultiMon
forum.pdf-xchange.com/viewtopic.php?t=41002 DisableTouchSelect
User avatar
Stefan - PDF-XChange
Site Admin
Posts: 19951
Joined: Mon Jan 12, 2009 8:07 am

Re: Is it possible to set the root of the arm of the callout comment at a position other than the center of each edge?

Post by Stefan - PDF-XChange »

Hello rakunavi, ⚜ Kenny Lemens, P.E. ᵂᴵ,

And I have just asked for an update in the ticket so that such custom JS is not necessary, but for now the ticket is still not in the pipeline to be implemented, so I do not know if or when this might happen!

Kind regards,
Stefan