Hi,
We are trying to go through all bookmark present in a PDF Document and Verify their action,
I have attached a sample PDF document with 3 bookmarks present, where we are getting bookmark Action as null for 2 bookmarks. but, bookmark Destination will have some value.
We are handling the above scenario but using code as below:
private void ExtractBookmarkInformation(OutlineItemCollection pdbmk)
{
PdfAction action = pdbmk.Action;
if(action != null)
{
…
}
else if(pdbmk.Destination != null )
{
…
}
}
For attached PDF document we notice following issues,
1. The Bookmark action is reported as null in Aspose, but actually it is not null when we verify in Adobe (correct me if I am wrong).
2. Also from the above code (in else part) for the same PDF Bookmark checking the destination (if(pdbmk.Destination != null )) is taking very long time when we are navigating through hundreds of bookmarks.
The good thing is Aspose is doing very good job in Performance compared to other competitors except the above performance issue.
Is there any alternative to overcome this performance problem.
Thanks in Advance.
Hi Chenna,
Thanks for contacting support.
Can you please share your complete code snippet as I am unable to replicate the issues when using latest release of Aspose.Pdf for .NET 10.5.0. We are sorry for this inconvenience.
Hi,
We prepared Demo project and instructions to reproduce the issue and attached them.
The following are the details of attached 3 files,
1. Acuta Bookmark Null Details.docx : Contains instructions to reproduce the issue.
2. BookmarkAction.zip : Demo C# source code project
3. Sample.pdf : Sample PDF document to use to reproduce the issue.
Thanks
Hi Chenna,
Thanks for sharing the resource files.
I
have tested the scenario and I am able to reproduce the same problem. For the
sake of correction, I have logged it in our issue tracking system as PDFNEWNET-39012. We
will investigate this issue in details and will keep you updated on the status
of a correction. <o:p></o:p>
We
apologize for your inconvenience.
Hi Nayyer Shahbaz,
Any update on the issue (Issue ID: PDFNEWNET-39012)?
We verified this issue in last release of
Aspose.Pdf for .NET v10.6.0 (Released on 13-Jul-2015) and the issue is still
exists.
This issue is very critical for us now. When can I expect this
issue will be resolved?
Or Do I have any workaround for this issue.
Thanks
Chenna Basappa C
Hi Nayyer Shahbaz,
We did not see the Issue ID: PDFNEWNET-39012 resolved in "Aspose.Pdf for .NET 10.7.0". Can I know when this will be resolved? This is very critical for us now.
Thanks
Chenna Basappa C
Hi Cheena,
Thanks for your patience. Customer’s document contains Action for 1st bookmark, but other bookmarks contain Destinations. Thus customer should check also Destination property.
private void
itratethroughBookmarks(OutlineItemCollection
outlineItem)<o:p></o:p>
{
Aspose.Pdf.InteractiveFeatures.PdfAction
action = outlineItem.Action;
IAppointment dest = outlineItem.Destination;
if (action != null)
{
System.Console.WriteLine("Action: " + outlineItem.Title + " : " + action.GetType().Name + "\n");
}
else if (dest != null)
{
if (dest is XYZExplicitDestination)
{
System.Console.WriteLine("XYZ Destination: " + (dest as XYZExplicitDestination).Left
+ " " + (dest as XYZExplicitDestination).Top
+ " " + (dest as XYZExplicitDestination).Zoom
+ " " + (dest as XYZExplicitDestination).Page.Number);
}
System.Console.WriteLine("Destination: ");
}
else
{
System.Console.WriteLine(outlineItem.Title
+ " : null" + "\n");
}
if (outlineItem.Count > 0)
{
foreach (OutlineItemCollection
outlinechild in outlineItem)
{
itratethroughBookmarks(outlinechild);
}
}
}
Please feel free to contact us for any further assistance.
Best Regards,
Hi Talil Ashmed,
Thank You for your Co-Operation, This work fine now. There is little performance degradation when we use IAppointment dest = outlineItem.Destination; , But this works fine now.
Thanks & Regards
Chenna Basappa C
Hi Chenna,
Thanks for your feedback. It is good to know that the shared solution worked for you. Moreover in reference to IAppointment, it is obvious it will add little time as now we need to check the destination of each bookmark for processing. However if you are facing some big delay then please share your sample document and details here, so we will investigate it and will share our findings accordingly.
Please feel free to contact us for any further assistance.
Best Regards,