Need help with creating text anchors with tagged text.

Can anyone tell me how to determine the correct value for a "Hyperlink Dest Index" value?
I have a script which creates a tagged text file that specifies about about 280 pages of tables (thank heavens for autoflow) , and would like to add live links between different parts. I can create a text anchor and a hyperlink to it in InDesign. The tagged text definition for the link source is simple and in-line and exports and imports nicely as tagged text. However, I see that all the link destinations, aka  text anchors, are all exported at the very end of the tagged text files as global definitions, and thier location iin the document is specified by the property HyperlinkDestIndex. However, I can't figure out how to set this value progammatically. I've spent over an hour exporting links, and it sure isn't anything as obvious as character index in the story.
Any advice appreciated,
  Read Roberts

Read, I'm not sure the following is going to help you. It works for external hyperlinks, but you want internal links, right? Anyway, it might give you some clues.
A funny thing: I was reviewing some script where I got links to work, and I spotted a tiny coding error. Links seemed to be defined by two separate identifiers: a "link name", which is what appears in Edit Hyperlink dialog, and a "Dest Key", which seems to be a simple increasing number. However, due to aformentioned coding error, the dest keys between the actual link and its definition were off by '1', so there was no way that ought to have matched. But it still worked! So "Dest Key" is a red herring ...
As far as I understand, it works like this (for hyperlinks): in your text, you have
HplName -- this is actually the 'title' that appears in the Hyperlink palette
HplDest -- this is the 'internal name'
DestKey. Hm. Perhaps you could omit this, per above obsvn.
CharStyleRef, the name of the auto-applied style
Hid -- seems to be always '0'
HplOff: the "offset" from this entire command to the start of the hyperlink, in InDesign characters.
HplLen: the "length" from the hyperlinked text, in InDesign characters.
and in the list of 'proper' definitions, those that appear at the very end of your file:
HplDestDfn -- the internal name again
DestKey -- see above
HplDestUrl -- finally! A real URL! (But you must escape lots of characters, such as the forward slash and colon.)
Hid -- again, always seems to be '0'.
Some of these items are perhaps optional, but experimenting with what may be left out only lead to frustration The Tagged Text guide is far from complete, as I'm sure you already knew.
As noted, some (or all) of the named items need a backslash escape for a few characters, but I can't find a definitive way to determine in advance what is 'good' and what is 'not good'.
The following script creates a Tagged Text file with a couple of working hyperlinks in it -- I don't know if this is of any help for your internal links.
var hyperlinkDest = [];
var text = "This is some text with a link [http://www.jongware.com/idjshelp.html] and another one [http://forums.adobe.com/thread/1014617?tstart=0] in it.";
var tagtext = text.replace (/\[(.+?)\]/g, function (full, match)
                    return makelink (match, 'title:'+match, match, match);
// When done processing plain text, add the destinations at the end:
tagtext += hyperlinkDest.join('');
tagFile = File(Folder.myDocuments+'/__tmp.txt');
if (tagFile.open('w') == false)
          alert ("Unable to create temporary file!");
          exit();
if (File.fs == "Windows")
          tagFile.write ("<ASCII-WIN>\n");
else
          tagFile.write ("<ASCII-MAC>\n");
tagFile.write ("<dcs:HYPERLINK=<cu:1>>\n");
          tagFile.write (tagtext);
tagFile.close();
// 'text' is the actual text that will be clickable
// 'title' is what will appear in the Hyperlinks palette
// 'name' is the internal name in the Edit Hyperlink dialog
// 'url' is the actual URL that will be linked to
function makelink (text, title, name, url)
          var destkey = hyperlinkDest.length;
          // In URL you must escape forward slashes and colons
          // .. and some other characters as well, by the way. There seems to be no list
          url = url.replace(/\//g, '\\/').replace(/:/g, '\\:');
          hyperlinkDest.push ('<HplDestDfn:=<HplDestName:'+name+'><DestKey:'+String(destkey)+'><HplDestUrl:'+url+'><Hid:0>>');
          return '<Hpl:=<HplName:'+title+'><HplDest:'+name+'><DestKey:'+String(destkey)+'><CharStyleRef:HYPERLINK><Hid:0><Brdrv:0><HplOff:0><HplLen:'+String(text.length)+'>>'+text;

Similar Messages

  • Need help in creating a view with Encryption for hiding the code used by the multiple users

    Hi,
    Can anyone help me out in creating view with encryption data to hide the stored procedure logic with other users.
    I have create a stored procedure with encryted view but while running this manually temporary views are getting created, therefore the problem is if there are 500 entries then 500 temp views will get created.
    Any solution to aviod creating temporary views, please refer my code below
    USE [etl_validation]
    GO
    /****** Object:  StoredProcedure [dbo].[Pr_DBAccess_mod]    Script Date: 05/23/2014 12:53:22 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER PROCEDURE [dbo].[Pr_DBAccess_mod](@ETL_CONFIG_ID INT)
    AS
    BEGIN
    DECLARE @openquery NVARCHAR(MAX),
     @DATABASENAME NVARCHAR(100),
     @HIERNAME NVARCHAR(100),
     @TABLENAME NVARCHAR(100),
     @SERVERTYPE NVARCHAR(100),
     @SERVERNAME NVARCHAR(100),
     @USERNAME NVARCHAR(100),
     @PASSWORD NVARCHAR(100),
     @ETL_CONFIG_IDN NVARCHAR(100);
     SET @ETL_CONFIG_IDN=CAST(@ETL_CONFIG_ID AS NVARCHAR);
     SET @TABLENAME='Department';
     SET @SERVERTYPE='SQL';
     SET @SERVERNAME ='192.168.31.176';
     SET @DATABASENAME='AdventureWorks2008R2';
     SET @HIERNAME = 'HumanResources';
     IF @SERVERTYPE='SQL'
     BEGIN
    /*SET @openquery= 'SELECT * INTO ##TestTable
                     FROM OPENROWSET(''SQLNCLI'',''server=192.168.31.176;Trusted_Connection=yes;'','''+@query+''')'
    SET @openquery=  'CREATE VIEW '+@TABLENAME+@ETL_CONFIG_IDN+
                     ' WITH ENCRYPTION AS SELECT * FROM OPENROWSET(''SQLNCLI'',''SERVER='+@SERVERNAME+';TRUSTED_CONNECTION=YES;'',''SELECT * FROM '+@DATABASENAME+'.'+@HIERNAME+'.'+@TABLENAME+''')'
    SELECT @openquery
    END
    EXECUTE sp_executesql @openquery
    END

    Hi aa_rif,
    According to your description and code message, you execute the sp_executesql statement in your stored procedure, it indeed create many views with a tablename and ETL_CONFIG_ID named. If you need not to use these temporary views, you can delete them when
    it contains the tablename in one view name.  
    In addition, if you want to create view with encryption in SQL Server, you can use directly the ENCRYPTION option to encrypt the T-SQL of a view in create view commands, for more information, see:
    http://learnsqlserver.in/4/Create-View-With-Encryption.aspx. if not, you can descript more detail about requriements, so that more forum members can involve into the thread and help you
    out. 
    Regards,
    Sofiya Li
    Sofiya Li
    TechNet Community Support

  • Need help in Creating DB manually with OFA

    Hi,
    I want to create database in 10g manually and for this purpose
    I need help.
    since we can use OFA for storing Control files, and redolog file
    and datafile by describing them in Create database command but
    how to store any instance related file like spfile, pfile or network
    related file.
    once the oracle 10g database software is installed then if we want
    to create database then how can we separate the database file and
    all other instance files from software binaries because I've noted
    that creating database with DBCA create all instance files along with
    binary files of the software although DBCA give you option of creating
    database related file in some other location/directory.
    kindly help me in this I want to achieve above task in compliance with
    OFA
    Thanks and Regards,
    D.Abbasi

    Abbasi wrote:
    Hi,
    I want to create database in 10g manually and for this purpose
    I need help.
    since we can use OFA for storing Control files, and redolog file
    and datafile by describing them in Create database command but
    how to store any instance related file like spfile, pfile or network
    related file.
    once the oracle 10g database software is installed then if we want
    to create database then how can we separate the database file and
    all other instance files from software binaries because I've noted
    that creating database with DBCA create all instance files along with
    binary files of the software although DBCA give you option of creating
    database related file in some other location/directory.
    kindly help me in this I want to achieve above task in compliance with
    OFA
    Thanks and Regards,
    D.AbbasiTHe OFA spec (as best I recall) states that one of the levels of directory for all of your data files will be the db name. So if you name your database 'orcl', every file system in which you keep any files related to 'orcl' will be in a directory name 'orcl'.
    As for what happend when you created your db. Oracle will default to putting things in the Oracle home structure because that's the only thing he can guarantee will be there. But you had the option (indeed, the obligation) to override these defaults.
    BTW, when using dbca, if you chose any of the pre-canned database types, the database will be created by doing a restore from a pre-canned backup. If you chose 'custom' database, the database will be created by way of a CREATE DATABASE script. It would be instructive time well spent for you to go through dbca and select 'custom database', pay attention to all of the options as you work through, then at then end, deselect "create database" and select "generate scripts". Do the same for one of the pre-defined database types. Then study the scripts generated by each method.
    Edited by: EdStevens on Aug 16, 2009 8:46 PM

  • Need help on creating a button with additional drop down menu

    Hi,
    I need to have a button with additional menu as we see in IE, please help me how can i do that. I want the button to be displayed normally with an additional arrow on the right side when clicked on it shows pop up menu. Please let me know if the solution has already there in the forum. I searched and couldn't get one .. :(

    Hey there buddy.
    Try this:
    http://www.koders.com/java/fid20361AB8C305DE9B9110DE90F2154FC43AA0E57C.aspx
    Jason.

  • Need help in creating RAID 5

    Hi everyone,
    i'm fairly new to RAID scene and i need help for creating RAID 5 with 8 disk's. 
    I have HP ProLiant DL380 G6 with 8 disk's, each 500 GB.
    i'm trying to create RAID 5 and to have one spare disk. I have made array from 7 disk and then create logical drive.
    the last disk (8-th) i used as spare. 
    up to now i think i'm ok???
    what confuse me is:
    7 HDD X 500GB= 3500GB
    after creating array i get 3200 GB, where i lose 300 GB??
    after creating logical drive i get 2700 GB, where i lose 500 GB???
    from 2700GB i give 150GB for system partition and for data storage i have only 2550 GB.
    Why i lose 800GB??
    Can someone explain me how RAID 5 works, do i create it correctly and why i lose so much space???
    Is there other way to create RAID 5 without losing so much space? 
    Thanks you in advnce. 

    The first 'loss' you encounter (300MB) is due to megabyte counting/rounding.  A 500GB disk contains about 500.000.000 bytes. This quite a bit less than if counted properly using binary. you loose about 24288000 bytes per disk this way!
    http://en.wikipedia.org/wiki/Mibibyte |
    http://en.wikipedia.org/wiki/Megabyte
    the second loss is due to how raid works.in raid 5 data is written to multiple disks to improve reliability. the simplies t form uses 3 disks: a write will cause half of the data to be written to disk 1, half to disk 2 and the XOR of both datahalfs to disk
    3. In this scenario you will loose 33% of storage space and you can loose up to one of 3 disks.
    By adding more disks, data can be spread more and the ratio available/raw will increase, or you can write aditionnal crc data and increase resliency for failures.
    http://en.wikipedia.org/wiki/RAID
    To check the exact algoritmes using on you RAID adapter, I would recommend contacting the vendor (or checking their support site) From your numbres, I do not think you will be able to configure RAID 5 on the same disks and having more available
    space for your data.
    MCP/MCSA/MCTS/MCITP

  • Need help to create report with jpeg/gif image

    Hello,
    I need help with creating a form with a special jpeg/gif seal. I never done this Java. Until now, I created all forms with ansi C++ with HP escape characters to draw lines, boxs, and text. This form will contain boxes which is populated with database information read from a text file.
    Since this form contains a special seal on the upper right, I don't think it can be done with old fashion ansi C++. How can I create a form with Java and create it as a simple exe to just print the form to a specified printer.
    Thanks,
    John

    Hi,
    I am creating a form with boxes (lines and text). What is special about this form is that it has an image jpeg or gif at the top right corner. Is is a state department seal. Up to this form, I had used ansi C++ and print out escape HP character to print out the lines, boxes, and text. I have no idea how to print out the image. I am new to JAVA and only 1 class in it. Is there sample code out there to create this type of form with the image? I need a starting point.
    Thanks,
    John

  • Need help in creating multiple signature forms?

    need help in creating multiple signature forms that can be digitally signed in adobe reader

    Automator gets a bit unweildy when trying to vary things outside of what the actions provide.  Since you are already using an AppeScript in your workflow, might as well do the whole thing:
    set baseFolder to (path to desktop) -- the location to create the folder
    display dialog "Please provide a new folder name:" default answer "test"
    set folderName to text returned of the result
    repeat -- keep repeating until a number is returned
      display dialog "How many subfolders?" default answer "5"
      set theNumber to text returned of the result
        try -- test the result
          set theNumber to theNumber as integer
          exit repeat -- success
        end try
    end repeat
    tell application "Finder"
      try -- make new folder
        set newFolder to (make new folder at baseFolder with properties {name:folderName})
      on error number -48 -- skip errors if the folder is already there
        set newFolder to ((baseFolder as text) & folderName) as alias
      end try
      repeat with X from 1 to theNumber
        try -- make new subfolder
          make new folder at newFolder with properties {name:folderName & X}
        on error number -48 -- skip errors if the folder is already there
        end try
      end repeat
    end tell

  • Need Help to create new screen for RF Sapconsole

    Hi Guru's
    I'm new on RF (but some years in ABAP) since last week.
    I need help to create new screens for RF (SAPLLMOB).
    Can someone explain me the procedure to create screen (with ABAP code after) or perhaps someone have an exemple (simple or not) ?
    I have to develop 2 new screens with really few time.
    And, another subsidiary question :
    how SAP can transfert information between the flash gun and the screen i have developped.
    Is there some code to add to enable this functionality or it is include in SAPLLMOB on standard fields ????
    It's a new strange world for me today...
    Many thanks to everyone who can explain me
    Alain

    hi,
    I am facing this problem as well. Is there any reference to create the new screen?
    Hope someone can help! Thanks!
    Regards,
    Darren

  • Need help in creating a chart from 3 datasets

    Need help in creating a chart in SSRS from 3 datasets
    Can someone help me in creating a chart from 3 datasets, however datasource is same.

    Thank you Olaf...
    could anyone help me in using union all with the below
     WITH a AS (
    SELECT
    clientid,
    DATEPART(year, row_date) AS 'Year',
    DATEPART(month, row_date) AS 'Month',
        value ,
        CASE metricid WHEN 16 THEN 'FCR' ELSE 'Cases' END AS metric
    FROM XXXXXX AS V
    WHERE metricid IN (16, 11)
    AND row_date BETWEEN '2012-01-01' AND '2014-10-01'
    AND value IS NOT NULL)
    , b AS (
    SELECT     clientid ,
        Year ,
        Month ,
        value AS 'Cases',
        metric 
    FROM a
    WHERE metric = 'cases')
    , c AS (
    SELECT     clientid ,
        Year ,
        Month ,
        value AS 'FCR',
        metric  
    FROM a
    WHERE metric = 'FCR')
    , d AS (
    SELECT b.YEAR, b.MONTH, c.FCR, b.Cases 
    FROM b INNER JOIN c 
    ON c.clientid = b.clientid
    AND c.[YEAR] = b.[year] 
    AND c.[month] = b.[month]
    WHERE c.fcr <> 0 AND b.cases <> 0
    ,E AS (
    SELECT [Year], [Month], SUM(FCR) AS FCR, SUM(Cases) AS Cases
    FROM d
    GROUP BY [Year], [Month])
    select YEAR, MONTH, 
    CASE MONTH 
    WHEN 1 THEN 'Jan'
    WHEN 2 THEN 'Feb'
    WHEN 3 THEN 'Mar'
    WHEN 4 THEN 'Apr'
    WHEN 5 THEN 'May'
    WHEN 6 THEN 'Jun'
    WHEN 7 THEN 'Jul'
    WHEN 8 THEN 'Aug'
    WHEN 9 THEN 'Sep'
    WHEN 10 THEN 'Oct'
    WHEN 11 THEN 'Nov'
    WHEN 12 THEN 'Dec'
    END AS MonthName
    ,e.FCR AS FCRCases
    ,e.Cases AS TotalCases
    ,CASE 
    WHEN [month] IN (11, 12, 1) THEN 1
    WHEN [month] IN (2, 3, 4) THEN 2
    WHEN [month] IN (5, 6, 7) THEN 3
    WHEN [month] IN (8, 9, 10) THEN 4
    END AS 'Quarter'
    --,CONVERT(DECIMAL(18, 2),(e.FCR/e.Cases)*100) AS FCRRaw
    from e
    order by YEAR, MONTH
    **************2nd query*************
    WITH a AS (
    SELECT
    clientid,
    DATEPART(year, row_date) AS 'Year',
    DATEPART(month, row_date) AS 'Month',
        value, 
        CASE metricid WHEN 56 THEN 'numerator' ELSE 'denominator' END AS metric
    FROM XXXXXXX.[Values] AS V
    WHERE metricid IN (56, 10)
    --WHERE metricid IN (11,16)
    AND row_date BETWEEN '2013-10-01' AND '2014-02-01'
    AND value IS NOT NULL)
    , b AS (
    SELECT     clientid ,
        Year ,
        Month ,
        value AS 'numerator',
        metric
    FROM a
    WHERE metric = 'numerator')
    , c AS (
    SELECT     clientid ,
        Year ,
        Month ,
        value AS 'denominator',
        metric
    FROM a
    WHERE metric = 'denominator')
    , d AS (
    SELECT b.YEAR, b.MONTH, c.denominator, b.numerator 
    FROM b INNER JOIN c 
    ON c.clientid = b.clientid
    AND c.[YEAR] = b.[year] 
    AND c.[month] = b.[month]
    WHERE c.denominator <> 0 AND b.numerator <> 0
    , e AS (
    SELECT [Year], [Month], SUM(numerator) AS numerator, SUM(denominator) AS denominator
    FROM d
    GROUP BY [Year], [Month]
    SELECT *, 
    CASE 
    WHEN [month] IN (11, 12, 1) THEN 1
    WHEN [month] IN (2, 3, 4) THEN 2
    WHEN [month] IN (5, 6, 7) THEN 3
    WHEN [month] IN (8, 9, 10) THEN 4
    END AS 'Quarter'
    FROM e
    ORDER BY 1,2
    ******************3rd query**************
    WITH a AS (
    SELECT --L.[LocationGroupId],
    -- T.locationid,
    -- T.AccountId,
    TR.datestamp,
    /*Convert(NVARCHAR, DatePArt(year, TR.datestamp)) + '-' + Convert(NVARCHAR, DatePArt(month, TR.datestamp)) + '-01'*/ 
    TR.Period AS ValueDate,
    CASE WHEN TR.TargetResultState = 0 THEN 0 WHEN TR.TargetResultState = 1 THEN 1 WHEN TR.TargetResultState = 2 THEN 1 ELSE 0 END AS Met,
    CASE WHEN CONVERT(DATE, Convert(NVARCHAR, DatePArt(year, TR.datestamp)) + '-' + Convert(NVARCHAR, DatePArt(month, TR.datestamp)) + '-01') > T.Startdate AND CONVERT(DATE, Convert(NVARCHAR, DatePArt(year, TR.datestamp))
    + '-' + Convert(NVARCHAR, DatePArt(month, TR.datestamp)) + '-01') < T.Enddate THEN 1 ELSE 0 END AS ActiveTarget
    FROM XXXXXX AS TR
    INNER JOIN dbo.Target T ON TR.TargetID = T.ID
    --INNER JOIN dbo.Location L ON T.Locationid = L.Id
    WHERE --locationid <> - 1 AND 
    TR.Period IN ('201306', '201307', '201308', '201309', '201310', '201311', '201312', '201401'))
    select ValueDate, SUM(Met) AS Met, Count(ActiveTarget) AS ActiveTargets,
    right(ValueDate,2) as Month
    ,left(ValueDate,4) as Year
    ,CASE 
    WHEN right(ValueDate,2) IN (11, 12, 1) THEN 1
    WHEN right(ValueDate,2) IN (2, 3, 4) THEN 2
    WHEN right(ValueDate,2) IN (5, 6, 7) THEN 3
    WHEN right(ValueDate,2) IN (8, 9, 10) THEN 4
    END AS 'Quarter'
    from a
    group by ValueDate
    order by ValueDate

  • Need help in creating Buttons in ADF10g

    Hi,
    My questions are:
    1. Is it possible to modify the width of row in ADF10g. Because the width of rows in my output are high. So I want to reduce it.
    2. I need help in creating a new 'createbutton' to create a newlist for the table . for this I have used create button but didnot succed.
    3. I also need help in creating 'save button' to save modified data into the table.
    4. I need help in creating a select-one-choice and select-one-list for columns of table.
    Please help me.
    regards,
    sanjana
    sanjana

    the Easy Tabs could be useful for your requirement
    http://usermanagedsolutions.com/SharePoint-User-Toolkit/Pages/Easy-Tabs-v5.aspx
    /blog
    twttr @esjord

  • Need help in creating tabbed webpart in sharepoint + no of tabs in webpart should be dynamic.

    Need help in creating tabbed webpart in sharepoint and no of tabs in webpart should be dynamic.
    under each tab i should be able to add multiple webparts(each tab will have webpart zone)
    programatically i need to generate tabs and insert webpart zones under each tab.
    Let me  know how can i achieve this.
    i followed below article.
    http://msdn.microsoft.com/en-us/library/jj573263%28v=office.14%29.aspx
    but in this article the tabs and webparts are static and we need to close each webpart .
    Kindly let me know the approach.thanks in advance

    the Easy Tabs could be useful for your requirement
    http://usermanagedsolutions.com/SharePoint-User-Toolkit/Pages/Easy-Tabs-v5.aspx
    /blog
    twttr @esjord

  • Need help for creat apple id in iphone 5s

    need help for creat apple id in iphone 5s

    See this support document for instructions. http://support.apple.com/kb/HT2731

  • I need help to create  idoc from scrach.

    i need help to create  idoc from scrach.

    Swamy Katta,
    Please read "[the rules|https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/rulesofEngagement]" before you post any further, and confirm that you have read them?
    => Search first, ask questions later please!
    Julius

  • Newbie needs help on creating banner with vanishing text.

    I have never used Flash before.  I may even be barking up the wrong tree. I am trying to create a banner that has text that "appears" and then "disappears". This is the mockup I made for the banner.  I would like for the sentences to seem like they are coming out of the couds, and then vanishing. Any help you can offer would be greatly appreciated!
    Thanks in advance,
    Margaret

    Thanks Ned!  I did what you said and now have the words animated like I need to.  But I am still having one problem.  I'm not sure how to get my background to be visible through the entire animation.  I can see it in the first frame and then it disappears.
    Thanks again,
    m

  • Need help in connecting to JNDI with JSP

    Hi all
    I am working on LDAP with JNDI, i need to use JSP for front end screens.
    My problem is like this..
    I am not finding a way to pass a user name and password from my jsp file, through JNDI and check for authentication in an LDAP server.
    I am using iPlanet Directory Server as my LDAP server, i have added some users using a JNDI class, and a default password is set for them.
    All I need to do is to authenticate the user for LDAP and return a boolean value to the jsp page and then proceed for further operations.
    I would be thankful if anyone could help me solve this problem, urgent...........
    Thanks
    Swaraj

    Hi
    One way to do this would be:
    1. Write a sample program which will read the username & password as command line parameters. This will authenticate this data against the LDAP server that you have setup. Once you have this working proceed to step2.
    2. Write a Java Bean with two attributes that will hold the username and password. Add a method authenticate user which will contain the code you have written in step 1.
    3. Create a JSP with username & password fields. Let the form post to the same JSP or a different JSP/Servlet.
    4. In the JSP use the <jsp:useBean> tag to create a bean coded in Step 2. The scope bean should be "request". Set the username and password fields using the <jsp:setProperty> tag. Once you have this , just use the beanId from the <jsp:useBean> tag to call the validation method.
    Keep me posted on your progress.
    Good Luck!
    Eshwar Rao
    Developer Technical Support
    Sun microsystems inc.
    http://www.sun.com/developers/support

Maybe you are looking for