首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PDFNet从PDF中获取URL

使用PDFNet从PDF中获取URL
EN

Stack Overflow用户
提问于 2012-05-04 22:53:05
回答 1查看 459关注 0票数 1

我们正在使用PDFNet库来提取PDF文件的内容。我们需要做的一件事是提取PDF中的URL。不幸的是,当您浏览文件中的元素时,您得到的URL是分片的,并且并不总是清楚哪一片与哪一片相匹配。

从PDFNet获取完整URL的最佳方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-05 03:54:05

链接作为注释存储在页面上。您可以执行类似以下代码的操作来从注释中获取URI。try/catch块之所以存在,是因为如果缺少任何值,它们仍然会返回一个Obj对象,但如果不抛出该对象,则无法对其调用任何方法。

此外,请注意,并非所有看起来像链接的东西都是相同的。我们从同一个Word文件创建了两个PDF。第一个是我们用print to PDF创建的。第二个是我们在Acrobat中创建的。

这两个文件中的链接在Acrobat Reader中都可以正常工作,但只有第二个文件有PDFNet可以看到的注释。

代码语言:javascript
复制
Page page = doc.GetPage(1);
for (int i = 1; j < page.GetNumAnnots(); j++) {
    Annot annot = page.GetAnnot(i);
    if (!annot.IsValid())
        continue;
    var sdf = annot.GetSDFObj();
    string uri = ParseURI(sdf);
    Console.WriteLine(uri);
}


private string ParseURI(pdftron.SDF.Obj obj) {
    try {
        if (obj.IsDict()) {
            var aDictionary = obj.Find("A").Value();
            var uri = aDictionary.Find("URI").Value();
            return uri.GetAsPDFText();
        }
    } catch (Exception ) {
        return null;
    }
    return null;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10451199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档