2016-05-26 5 views
1

私は、PdfOutlineと組み合わせてPdfActionを使用して、中央ネットワークの場所に保存されたドキュメントへのリンクを作成しようとしています。これは正常に動作しますが、キリル文字がURLで使用されていると、システムは文書を見つけることができません。調査によると、Pdfによって開かれたリンクでは、すべてのキリル文字は消えていましたか?キリル文字を使用するIText PdfAction

マイコード:

//Create the index tree 

PdfOutline index = new PdfOutline(writer.getDirectContent().getRootOutline(), new PdfDestination(PdfDestination.FITH), "Detailed Info"); 

//Add entry to index 

PdfAction act = new PdfAction("file://CENTRALSERVER/Конвертинг/MyFile.xls"); 
new PdfOutline(index, act, "My File"); 

私が間違って何をしたのですか?

答えて

1

文字列のエンコードに問題があるようです。この関数はおそらくUTF-8文字列を期待しています。これは 'ilegal'文字を検出するため、それらは取り除かれます。あなたはそれが悪い文字を剥奪されることなく、機能を通過できるように、文字列をコードする試すことができます:

public static String encodeFilename(String s) 
{ 
    try 
    { 
     return java.net.URLEncoder.encode(s, "UTF-8"); 
    } 
    catch (java.io.UnsupportedEncodingException e) 
    { 
     throw new RuntimeException("UTF-8 is an unknown encoding!?"); 
    } 
} 

また、あなたのコードを見ることができる最後に文字列エンコーディング

の詳細については、このquestionを見てみてくださいこのように:

PdfAction act = new PdfAction(encodeFilename("file://CENTRALSERVER/Конвертинг/MyFile.xls")); 
関連する問題