当前位置: 代码迷 >> ASP.NET >> 问个PDF在线浏览有关问题
  详细解决方案

问个PDF在线浏览有关问题

热度:7335   发布时间:2013-02-25 00:00:00.0
问个PDF在线浏览问题
是这样的
现在客户要一个功能
PDF在线浏览
用的技术是pdf2swf.exe
PDF转成SWF的这种方法,已经成功,
但是出现有的中文乱码例如黑体,经过网上查找也找到解决方法,
加入这俩gkai00mp.ttf,gbsn00lp.ttf字体,通过字体转换,具体转换看不到,

问题来了,本地成功,网上不成功,路径都正确,不知道有没有大虾用过,或者遇到这种情况,请指教啊。
sb.Append(" -o \"" + swfFile + "\" -t -s languagedir=D:\\vhostroot\\LocalUser\\xydl6\\www\\xpdf\\xpdf-chinese-simplified -s flashversion=9");//swf路径         

------解决方案--------------------------------------------------------
在网上看下源代码 是不是哪的路径不对
------解决方案--------------------------------------------------------
能指点我下 这个功能么  我也在弄这块
------解决方案--------------------------------------------------------
adboe flash 插件装了没有?
装xpdf语言包,解决中文无法显示问题

对于未安装xpdf的用户

pdf2swf在将pdf文件转换成swf文件时,如果pdf中有中文,那么pdf2swf就可能处理不了,这时就需要在pdf2swf生成时添加xpdf支持,接下来我们就来看看如何安装xpdf。
首先到xpdf网站:http://foolabs.com/xpdf/download上下载xpdf-chinese-simplified.tar.gz文件(ftp://ftp.foolabs.com/pub/xpdf/xpdf-chinese-simplified.tar.gz),windows与linux皆适用,下载下来后,解压到某一特定目录,然后将本文附件当中名为stsong.tar.gz文件下载下来,解压后将其中的STSONG.TTF字体文件放在xpdf-chinese-simplified所在目录下的CMap目录下,然后打开xpdf-chinese-simplified所在目录下add-to-xpdfrc文件,源文件内容如下:

从原文件中可以看到,其中关于字体路径信息是基于linux的,所以如果要根据你的xpdf-chinese-simplified目录实际存放位置进行修改,

如linux下修改后的内容为:
可以看到这里除了修改标准信息名,还添加了名为displayCIDFontTT的了行信息,在该行信息中,我们指定了之前下载的STSONG.TTF文件的位置。
如果系统为windows,那么修改后的内容可能是下面的样子:
可以看到,该文件同样指定了STSONG.TTF文件位置信息。

参考 pdf转换swf格式出现的乱码问题 
http://blog.csdn.net/yali1990515/article/details/7790716 
------解决方案--------------------------------------------------------
引用:
在网上看下源代码 是不是哪的路径不对

楼主不是已经显示出来了么 只是乱码而已 可以把代码发我么
我完全不知道咋弄。。。
------解决方案--------------------------------------------------------
是中文乱码还是字体显示不全?
------解决方案--------------------------------------------------------
http://www.cnblogs.com/58top/archive/2012/11/26/a-list-of-jquery-pdf-viewers-available-at-the-moment 

在线浏览PDF文件的实用jquery插件推荐

------解决方案--------------------------------------------------------

public void ConvertToSwf(string pdfPath, string swfPath, int page)
    {

        try
        {

            string exe =@"C:\SWFTools\pdf2swf.exe";

            if (!File.Exists(exe))
            {
                throw new ApplicationException("Can not find: " + exe);

            }
            StringBuilder sb = new StringBuilder();
            sb.Append(" -o\"" + swfPath + "\"");//output          
            sb.Append(" -z");
            sb.Append(" -s flashversion=9");//flash version   
  相关解决方案