Feature request - Callout box with multiple arrows

Forum for the PDF-XChange Editor - Free and Licensed Versions

Moderators: PDF-XChange Support, Daniel - PDF-XChange, Chris - PDF-XChange, Sean - PDF-XChange, Paul - PDF-XChange, Vasyl - PDF-XChange, Ivan - Tracker Software, Stefan - PDF-XChange

cadirkin
User
Posts: 5
Joined: Tue Oct 02, 2018 3:24 pm

Feature request - Callout box with multiple arrows

Post by cadirkin »

Please forgive me if this has already been requested.

I would like to request a feature that allows you to add multiple arrows or leader lines to the callout box. the way I have to do it now is I place a callout box, then have to draw individual arrows from the callout box to the object. If I have to move the callout box I then have to re position the other arrows.

i am currently running version 7 (build 325.1)
User avatar
Stefan - PDF-XChange
Site Admin
Posts: 19951
Joined: Mon Jan 12, 2009 8:07 am

Re: Feature request - Callout box with multiple arrows

Post by Stefan - PDF-XChange »

Hello cadirkin,

Welcome to our forums and thanks for the post!
I am afraid that the call-out tool is described in the PDF specification in such a way that only one leader line is supported, and unfortunately we can not deviate from the ISO standard.

Regards,
Stefan
humam2104
User
Posts: 56
Joined: Sun Jul 14, 2019 10:08 pm

Re: Feature request - Callout box with multiple arrows

Post by humam2104 »

The callout tool can be used with one single arrow with PDFXchange or other softwares, what you can do actually is to draw an arrow and connect it to the joint of the callout box like I did here.
One of these belongs to the callout and the other are manual arrows, unfortunately this doesn't solve the problem but it's a workaround, I have used 3 PDF editors and none of them had this feature.
You do not have the required permissions to view the files attached to this post.
User avatar
Daniel - PDF-XChange
Site Admin
Posts: 13148
Joined: Wed Jan 03, 2018 6:52 pm

Re: Feature request - Callout box with multiple arrows

Post by Daniel - PDF-XChange »

Hello Humam2104,

Thank you for the suggested workaround, I am sure this will help some other users in this situation. As Stefan said unfortunately we cannot go against the PDF specification, but if this changes in the future we will reconsider this as a new feature.

Kind regards,
Dan McIntyre - Support Technician
PDF-XChange Co. LTD

+++++++++++++++++++++++++++++++++++
Our Web site domain and email address has changed as of 26/10/2023.
https://www.pdf-xchange.com
[email protected]
humam2104
User
Posts: 56
Joined: Sun Jul 14, 2019 10:08 pm

Re: Feature request - Callout box with multiple arrows

Post by humam2104 »

Hello Daniel,

I'm always happy to help.

King Regards,
User avatar
Daniel - PDF-XChange
Site Admin
Posts: 13148
Joined: Wed Jan 03, 2018 6:52 pm

Re: Feature request - Callout box with multiple arrows

Post by Daniel - PDF-XChange »

:D
Dan McIntyre - Support Technician
PDF-XChange Co. LTD

+++++++++++++++++++++++++++++++++++
Our Web site domain and email address has changed as of 26/10/2023.
https://www.pdf-xchange.com
[email protected]
galen
User
Posts: 1
Joined: Mon Dec 02, 2024 4:47 pm

Re: Feature request - Callout box with multiple arrows

Post by galen »

Hi,

I was wondering if this feature is available yet? Bluebeam has callouts with multiple leaders. Not sure if the ISO PDF standard has changed or if they just do what they want.

Thanks, Galen
User avatar
Daniel - PDF-XChange
Site Admin
Posts: 13148
Joined: Wed Jan 03, 2018 6:52 pm

Re: Feature request - Callout box with multiple arrows

Post by Daniel - PDF-XChange »

Hello, galen

Unfortunately no, these still do not exist in the PDF Spec. The Spec takes a very long time to make changes, and given the rate of change within the spec, I do not expect this to come along anytime soon, I am very sorry to say. It will likely still be many more years still before we hear of a change in this area, and can start working on our own implementation of it.

Kind regards,
Dan McIntyre - Support Technician
PDF-XChange Co. LTD

+++++++++++++++++++++++++++++++++++
Our Web site domain and email address has changed as of 26/10/2023.
https://www.pdf-xchange.com
[email protected]
WeHavePizzaAtHome
User
Posts: 5
Joined: Wed Feb 04, 2026 6:17 pm

Re: Feature request - Callout box with multiple arrows

Post by WeHavePizzaAtHome »

Checking to see if the spec has changed.
User avatar
Daniel - PDF-XChange
Site Admin
Posts: 13148
Joined: Wed Jan 03, 2018 6:52 pm

Re: Feature request - Callout box with multiple arrows

Post by Daniel - PDF-XChange »

Hello, WeHavePizzaAtHome

It has not :(

Kind regards,
Dan McIntyre - Support Technician
PDF-XChange Co. LTD

+++++++++++++++++++++++++++++++++++
Our Web site domain and email address has changed as of 26/10/2023.
https://www.pdf-xchange.com
[email protected]
User avatar
PHK
User
Posts: 1627
Joined: Tue Nov 24, 2020 4:02 pm

Re: Feature request - Callout box with multiple arrows

Post by PHK »

humam2104 wrote: Tue Dec 24, 2019 8:17 pm The callout tool can be used with one single arrow with PDFXchange or other softwares, what you can do actually is to draw an arrow and connect it to the joint of the callout box like I did here.
One of these belongs to the callout and the other are manual arrows, unfortunately this doesn't solve the problem but it's a workaround, I have used 3 PDF editors and none of them had this feature.
This works well enough; I would assign a low priority to enhancing this functionality.
All best,

FringePhil
User avatar
Daniel - PDF-XChange
Site Admin
Posts: 13148
Joined: Wed Jan 03, 2018 6:52 pm

Feature request - Callout box with multiple arrows

Post by Daniel - PDF-XChange »

:)
Dan McIntyre - Support Technician
PDF-XChange Co. LTD

+++++++++++++++++++++++++++++++++++
Our Web site domain and email address has changed as of 26/10/2023.
https://www.pdf-xchange.com
[email protected]
User avatar
PHK
User
Posts: 1627
Joined: Tue Nov 24, 2020 4:02 pm

Re: Feature request - Callout box with multiple arrows

Post by PHK »

PHK wrote: Mon Apr 13, 2026 8:22 pm
humam2104 wrote: Tue Dec 24, 2019 8:17 pm The callout tool can be used with one single arrow with PDFXchange or other softwares, what you can do actually is to draw an arrow and connect it to the joint of the callout box like I did here.
One of these belongs to the callout and the other are manual arrows, unfortunately this doesn't solve the problem but it's a workaround, I have used 3 PDF editors and none of them had this feature.
This works well enough; I would assign a low priority to enhancing this functionality.
But having said that, what would be nice would be if the non-arrowhead end of the add-on arrow could be more-or-less permanently attached to a juncture node of the callout object so that when the callout object is moved on the page, the add-on arrows would move with the object in the same was as the callout object's built-in arrow does.
All best,

FringePhil
User avatar
Sean - PDF-XChange
Site Admin
Posts: 1151
Joined: Wed Sep 14, 2016 5:42 pm

Re: Feature request - Callout box with multiple arrows

Post by Sean - PDF-XChange »

Hi PHK,

Good idea - thanks for the input here.

Kind regards,
Sean Godley
Technical Writer
PDF-XChange Co LTD
Sales: +1 (250) 324-1621
Fax: +1 (250) 324-1623
TBS
User
Posts: 14
Joined: Mon Jan 05, 2026 2:52 pm

Re: Feature request - Callout box with multiple arrows

Post by TBS »

This is a crude JS solution.
image.png
image(1).png
AddCalloutLeaders_v2.8.1.js.zip
Updated version
AddCalloutLeaders_v2.8.2.js.zip
+Adds leader grouping (the actual callout box can still move independently vs. moved as a group via leaders)
+Combined dialog
+bugfix

A. Add extra linked leaders
Select one callout annotation
Click Leaders+
Enter:
how many additional leaders you want
a default leader length
The script creates extra leaders starting from the current knee point of the selected callout

B. Refresh selected linked leaders

Use Refresh Leaders when:
you moved the source callout, and
you want the linked leaders to snap back to the updated knee point
You can either:
select the source callout, or
select one or more of the linked leaders

C. Refresh everything in the document

Use Refresh All Leaders to update all linked leaders across the entire PDF in one pass.
You do not have the required permissions to view the files attached to this post.
Last edited by TBS on Wed Apr 22, 2026 11:06 am, edited 1 time in total.
User avatar
Dimitar - PDF-XChange
Site Admin
Posts: 2732
Joined: Mon Jan 15, 2018 9:01 am

Re: Feature request - Callout box with multiple arrows

Post by Dimitar - PDF-XChange »

Thanks for your effort, TBS.
User avatar
PHK
User
Posts: 1627
Joined: Tue Nov 24, 2020 4:02 pm

Re: Feature request - Callout box with multiple arrows

Post by PHK »

Thanks, Sean.
All best,

FringePhil
User avatar
Daniel - PDF-XChange
Site Admin
Posts: 13148
Joined: Wed Jan 03, 2018 6:52 pm

Feature request - Callout box with multiple arrows

Post by Daniel - PDF-XChange »

:)
Dan McIntyre - Support Technician
PDF-XChange Co. LTD

+++++++++++++++++++++++++++++++++++
Our Web site domain and email address has changed as of 26/10/2023.
https://www.pdf-xchange.com
[email protected]
User avatar
Mathew
User
Posts: 885
Joined: Thu Jun 19, 2014 7:30 pm

Re: Feature request - Callout box with multiple arrows

Post by Mathew »

I really like this add-in. Useful.

I found a bug: the function tryGroupLeaderToSource should be using the name of the source for the inReplyTo value:

Code: Select all

function tryGroupLeaderToSource(leader, sourceCallout) {
  try {
    leader.setProps({ inReplyTo: sourceCallout.name, refType: 'Group' });
    return true;
  } catch (e1) {
    try {
      leader.inReplyTo = sourceCallout.name;
      leader.refType = 'Group';
      return true;
    } catch (e2) {}
  }
  return false;
}
Not a bug, my preference: ;) I like to make custom dialogs instead of multiple popup dialogs (ie for the number and length of added leaders). You could add a function like this to get all the info in one shot:

Code: Select all

// custom dialog to get number and length of new leaders
function getLeadersNumberLength(nDefault = 2, lDefault = 24, groupCallouts = true) {
  let leaderNum, leaderLen;
  const dia = {
    initialize(dialog) {
      const dLoad = {
        nLdr: nDefault,
        lLdr: util.printf('%.2f', lDefault),
        trGp: groupCallouts,
      };
      dialog.load(dLoad);
    },
    validate(dialog) {
      const data = dialog.store();
      // check number
      if (0 >= data.nLdr || isNaN(parseInt(data.nLdr))) {
        app.alert("Enter a number of added callouts greater than zero.");
        return false;
      }
      // check length
      if (0 >= data.lLdr || isNaN(parseFloat(data.lLdr))) {
        app.alert("Leader length must be greater than zero.\nEntered value: " + parseFloat(data.lLdr));
        // try to load default back in
        dialog.load({lLdr: util.printf('%.2f', lDefault)});
        return false;
      }
      return true;
    },
    commit(dialog) {
      const data = dialog.store();
      leaderNum = parseInt(data.nLdr);
      leaderLen = parseFloat(data.lLdr);
      groupCallouts = data.trGp;
    },
    description: {
      name: "Add Callout Leaders", elements: [
        { type: 'static_text', name: 'How many additional leaders do you want to create?', width:320},
        { type: 'cluster', name: "Add Leaders", elements: [
          { type: 'static_text', name: 'These will start from the current knee point and be linked back to the selected callout.', width:300, italic: true},
          { type: 'edit_text', item_id: 'nLdr', width: 100 },
        ]},
        
        { type: 'cluster', name: "Default leader length", elements: [
          { type: 'static_text', name: "Source length: " + util.printf("%.2f pt", lDefault), width:300, italic: true},
          { type: 'view', align_children: 'align_row', elements: [
            { type: 'edit_text', item_id: 'lLdr', width: 100 },
            { type: 'static_text', name: "pt"},
          ]},
        ]},
        { type: 'check_box', name: "Group added leaders with selected callout", item_id: 'trGp', width:300},
        { type: 'ok_cancel'}
      ]
    }
  };
  if ('ok' !== app.execDialog(dia)) return {};
  return {leaderNum, leaderLen, groupCallouts};
}
and call it thus to get the number of leaders, length, and whether to group:

Code: Select all

let {leaderNum, leaderLen, groupCallouts} = getLeadersNumberLength( 2, existingLeaderLen, true);
if (!leaderNum) return;
TBS
User
Posts: 14
Joined: Mon Jan 05, 2026 2:52 pm

Re: Feature request - Callout box with multiple arrows

Post by TBS »

Thanks

Updated version added to the post above.
User avatar
Daniel - PDF-XChange
Site Admin
Posts: 13148
Joined: Wed Jan 03, 2018 6:52 pm

Feature request - Callout box with multiple arrows

Post by Daniel - PDF-XChange »

:)
Dan McIntyre - Support Technician
PDF-XChange Co. LTD

+++++++++++++++++++++++++++++++++++
Our Web site domain and email address has changed as of 26/10/2023.
https://www.pdf-xchange.com
[email protected]
User avatar
TMSMT
User
Posts: 2
Joined: Tue Aug 18, 2026 11:02 am

Re: Feature request - Callout box with multiple arrows

Post by TMSMT »

Thanks TBS, that JavaScript gets the job done well!

@Daniel - PDF-XChange, will this solution get implemented in a future PDF XChange release or is even that implementation going against the ISO standards?
User avatar
Daniel - PDF-XChange
Site Admin
Posts: 13148
Joined: Wed Jan 03, 2018 6:52 pm

Re: Feature request - Callout box with multiple arrows

Post by Daniel - PDF-XChange »

Hello, TMSMT

Since this appears to operate entirely on manual actions, and only automates them in that way - this would be fine. In practice, these are separate items, and this solution is not much different from just adding additional "arrow" tools to the end of a callout comment manually.

Sadly, we do not plan to offer an official version of this at the moment - though we are planning proper comment grouping support in the (hopefully near) future, which will help greatly in these cases.

Kind regards,
Dan McIntyre - Support Technician
PDF-XChange Co. LTD

+++++++++++++++++++++++++++++++++++
Our Web site domain and email address has changed as of 26/10/2023.
https://www.pdf-xchange.com
[email protected]
User avatar
TMSMT
User
Posts: 2
Joined: Tue Aug 18, 2026 11:02 am

Re: Feature request - Callout box with multiple arrows

Post by TMSMT »

Thanks, yes it is the "refresh" ability that I think is particularly handy in this implementation as any other method of manually adding additional callout arrows has friction the moment you start changing the size of the callouts or moving them around as you then need to also update the add-on arrows every time.

In saying that, grouping would indeed help to also address this issue. Will the grouping function be available for all objects or only comments?
User avatar
Daniel - PDF-XChange
Site Admin
Posts: 13148
Joined: Wed Jan 03, 2018 6:52 pm

Re: Feature request - Callout box with multiple arrows

Post by Daniel - PDF-XChange »

Hello, TMSMT

To my understanding, the "grouping" function will only be for comments.
However, base content items can already be grouped into "Xforms".

At the moment the only way I know of to do this manually, is by selecting the base content group, cutting it, and then pasting it all "as stamp". And finally "flattening" the stamp.
This will connect the base content items, so you can select them all by clicking blank space between the items:
PXCEditor_tna97IhJsi.gif
Kind regards,
You do not have the required permissions to view the files attached to this post.
Dan McIntyre - Support Technician
PDF-XChange Co. LTD

+++++++++++++++++++++++++++++++++++
Our Web site domain and email address has changed as of 26/10/2023.
https://www.pdf-xchange.com
[email protected]