哪位老大在itext中添加过地址包含中文的链接啊?求赐教 链接中的中文是不是要encode一下啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 问题解决原目的是在pdf中点击链接打开另外一个本地excel文件,excel文件名包含中文,但是生成的pdf链接里不认中文,点击打开时,文件路径里的中文都没有了,造成文件无法找到。原因在于itext的PdfAction的初始化方法里,都是以下方式put(PdfName.F, new PdfString(application));对于application没有做编码设置。于是做了个子类,重写了初始化方法,加入了字符编码。子类如下:import com.itextpdf.text.pdf.PdfAction;import com.itextpdf.text.pdf.PdfDictionary;import com.itextpdf.text.pdf.PdfName;import com.itextpdf.text.pdf.PdfString; public class BPdfAction extends PdfAction { public BPdfAction(String application, String parameters, String operation, String defaultDir,String encoding) { put(PdfName.S, PdfName.LAUNCH); if(parameters==null&&operation==null&&defaultDir==null){ put(PdfName.F, new PdfString(application, encoding)); }else{ PdfDictionary dic=new PdfDictionary(); dic.put(PdfName.F, new PdfString(application, encoding)); if(parameters!=null){ dic.put(PdfName.P, new PdfString(parameters, encoding)); } if(operation!=null){ dic.put(PdfName.P, new PdfString(operation, encoding)); } if(defaultDir!=null){ dic.put(PdfName.P, new PdfString(defaultDir, encoding)); } put(PdfName.WIN,dic); } }}调用BPdfAction act=new BPdfAction(action,null,null,null,"GBK");中文问题解决 测试楼主的办法,可以向Pdf中添加一个由pdf文件启动指定文件的动作。 现在我想添加一个直接打开本地资源的链接,将BPdfAction中的代码改成 put(PdfName.S, PdfName.URI); put(PdfName.URI, new PdfString(application, encoding)); 结果输出可以发现中文存在了,但确是乱码,不知道有方法解决吗? Hibernate的四大优点 getOutputStream() has already been called for this response 问题 关于服务器上登陆问题 探讨:OA系统的设计问题. Spring方面的问题 关于JSP文件的浏览问题 jdbcType=NUMBER老是报没有这个类型 war部署到Tomee中启动报错如何解决? 讨论一下html编辑器上传图片清理的思路 多线程的问题! 访问部署在动态ip服务器上的项目 <logic:interate> 嵌套<c:import>的问题
原目的是在pdf中点击链接打开另外一个本地excel文件,excel文件名包含中文,但是生成的pdf链接里不认中文,点击打开时,文件路径里的中文都没有了,造成文件无法找到。原因在于itext的PdfAction的初始化方法里,都是以下方式
put(PdfName.F, new PdfString(application));对于application没有做编码设置。
于是做了个子类,重写了初始化方法,加入了字符编码。子类如下:import com.itextpdf.text.pdf.PdfAction;
import com.itextpdf.text.pdf.PdfDictionary;
import com.itextpdf.text.pdf.PdfName;
import com.itextpdf.text.pdf.PdfString;
public class BPdfAction extends PdfAction {
public BPdfAction(String application, String parameters, String operation, String defaultDir,String encoding) {
put(PdfName.S, PdfName.LAUNCH);
if(parameters==null&&operation==null&&defaultDir==null){
put(PdfName.F, new PdfString(application, encoding));
}else{
PdfDictionary dic=new PdfDictionary();
dic.put(PdfName.F, new PdfString(application, encoding));
if(parameters!=null){
dic.put(PdfName.P, new PdfString(parameters, encoding));
}
if(operation!=null){
dic.put(PdfName.P, new PdfString(operation, encoding));
}
if(defaultDir!=null){
dic.put(PdfName.P, new PdfString(defaultDir, encoding));
}
put(PdfName.WIN,dic);
}
}
}调用
BPdfAction act=new BPdfAction(action,null,null,null,"GBK");
中文问题解决