Text Link
In PDF pages, hyperlink text to websites, web resources, and email addresses looks like normal text.
Before processing text links, users should first call the PageTextLinks.getTextLink interface (taking the Java development language as an example) to obtain a textlink object.
Retrieve hyperlinks in PDF pages
c++
#include "include/common/fs_common.h"
#include "include/pdf/fs_pdfdoc.h"
#include "include/pdf/fs_pdfpage.h"
#include "include/pdf/fs_search.h"
using namespace foxit;
using namespace foxit::common;
using foxit::common::Library;
using namespace pdf;
...
// Assuming PDFPage page has been loaded and parsed.
// Get the text page object.
TextPage text_page(page);
PageTextLinks pageTextLink(text_page);
TextLink textLink = pageTextLink.GetTextLink(index);
String strURL = textLink.GetURI();
...C
#include "include/fs_basictypes_c.h"
#include "include/fs_common_c.h"
#include "include/fs_pdfdoc_c.h"
#include "include/fs_pdfpage_c.h"
#include "include/fs_search_c.h"
...
// Assuming FS_PDFPAGE_HANDLE page has been loaded and parsed.
// Get the text page object.
FS_TEXTPAGE_HANDLE text_page;
FSDK_TextPage_Create(page, e_FSTextParseFlagsParseTextNormal, &text_page);
FS_PAGETEXTLINKS_HANDLE pageTextLink;
FSDK_PageTextLinks_Create(text_page, &pageTextLink);
FS_TEXTLINK_HANDLE textLink;
FSDK_PageTextLinks_GetTextLink(pageTextLink, index, &textLink);
FS_WSTR strURL;
FSDK_TextLink_GetURI(textLink, &strURL);
...java
import com.foxit.sdk.pdf.PDFPage;
import com.foxit.sdk.pdf.annots.*;
...
// Assuming PDFPage page has been loaded and parsed.
...
TextPage text_page = new TextPage(page, TextPage.e_ParseTextNormal);
PageTextLinks page_textlinks = new PageTextLinks(text_page);
TextLink text_link = page_textlinks.getTextLink(index); / specify an index.
String str_uri = text_link.getURI();
...py
import sys
import site
if sys.version_info.major == 2:
_PYTHON2_ = True
else:
_PYTHON2_ = False
if _PYTHON2_:
# replace with python2 lib path
site.addsitedir('../../../')
from FoxitPDFSDKPython2 import *
else:
from FoxitPDFSDKPython3 import *
...
# Assuming PDFPage page has been loaded and parsed.
# Get the text page object.
text_page = TextPage(page)
pageTextLink = PageTextLinks(text_page)
textLink = pageTextLink.GetTextLink(index)
strURL = textLink.GetURI()
...objc
#include "FSPDFObjC.h"
...
FSTextPage *textPage = [[FSTextPage alloc] initWithPage:page flags:FSTextPageParseTextNormal];
FSPageTextLinks* page_text_links = [[FSPageTextLinks alloc] initWithPage:textPage];
if (NO == [page_text_links isEmpty]) {
int index = 0;
FSTextLink* text_link = [page_text_links getTextLink:index];
if (NO == [text_link isEmpty])
NSString* url = [text_link getURI];
}
...js
const FSDK = require("@fuxinsoft/foxit-pdf-sdk-node");
...
// Assuming PDFPage page has been loaded and parsed.
// Get the text page object.
let text_page = new FSDK.TextPage(page);
let pageTextLink = new FSDK.PageTextLinks(text_page);
let textLink = pageTextLink.GetTextLink(index);
let strURL = textLink.GetURI();
...csharp
using foxit.common;
using foxit.pdf;
...
// Assuming PDFPage page has been loaded and parsed.
// Get the text page object.
TextPage text_page = new TextPage(page, (int)foxit.pdf.TextPage.TextParseFlags.e_ParseTextNormal);
PageTextLinks page_textlinks = new PageTextLinks(text_page);
TextLink text_link = page_textlinks.GetTextLink(index); / specify an index.
string str_url = text_link.GetURI();
...go
package main
import (
. “foxit.com/fsdk”
)
...
# Assuming PDFPage page has been loaded and parsed.
# Get the text page object.
text_page := NewTextPage(page)
defer DeleteTextPage(text_page)
pageTextLink := NewPageTextLinks(text_page)
defer DeletePageTextLinks(pageTextLink)
textLink := pageTextLink.GetTextLink(index)
strURL := textLink.GetURI()
...