URL と mailto の両方の形式でハイパーリンクを含む PDF があります。現在、座標、リンクタイプ、宛先アドレスなどのハイパーリンクメタ情報を PDF から抽出する方法またはツール (サードパーティの場合があります) はありますか? どんな助けでも大歓迎です。
私はすでに iText と PDFBox を試しましたが、大きな成功はありませんでした。サードパーティのソフトウェアでさえ、希望する出力を提供していません。
iTextを使用してJavaで次のコードを試しました
PdfReader myReader = new PdfReader("pdf File Path");
PdfDictionary pageDict = myReader.getPageN(1);
PdfArray annots = pageDict.getAsArray(PdfName.ANNOTS);
System.out.println(annots);
ArrayList<String> dests = new ArrayList<String>();
if(annots != null)
{
for(int i=0; i<annots.size(); ++i)
{
PdfDictionary annotDict = annots.getAsDict(i);
PdfName subType = annotDict.getAsName(PdfName.SUBTYPE);
if (subType != null && PdfName.LINK.equals(subType))
{
PdfDictionary action = annotDict.getAsDict(PdfName.A);
if(action != null && PdfName.URI.equals(action.getAsName(PdfName.S)))
{
dests.add(action.getAsString(PdfName.URI).toString());
} // else { its an internal link }
}
}
}
System.out.println(dests);