求助:pdf 文件中文乱码问题?

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
头像
大度灯
帖子: 25
注册时间: 2008-11-06 11:11

求助:pdf 文件中文乱码问题?

#1

帖子 大度灯 » 2009-03-26 11:37

XP下有许多PDF的文件,现转linux下后打开时发现是一堆乱码 ,尤其为中文。目前使用的是adobe reader for linux。
网上搜过 可能的问题点是gb2312/gbk/gb18030这些国标和utf-8转换时出现的问题。
目前比较郁闷,看不了了资料。
还望解答!谢谢!
rocky22
帖子: 684
注册时间: 2008-02-17 22:29
来自: 江苏

Re: 求助:pdf 文件中文乱码问题?

#2

帖子 rocky22 » 2009-03-26 13:27

代码: 全选

sudo apt-get install poppler-data 
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: 求助:pdf 文件中文乱码问题?

#3

帖子 自由建客 » 2009-03-26 13:51

头像
大度灯
帖子: 25
注册时间: 2008-11-06 11:11

Re: 求助:pdf 文件中文乱码问题?

#4

帖子 大度灯 » 2009-03-27 10:53

谢谢2楼的。
另: 用Evince装sudo apt-get install poppler-data后的确可以打开之前乱码的pdf文件,不过标题栏却显示的是一堆乱码?什么原因啊,有什么办法可以解决吗?
在用adobe reader 打开后提示下载安装简体中文字体包,我下下来了,可是不会装,像是一个文件夹的压缩包。呵呵,不知道怎么装这些字体包!寒!!
还有一个问题:如果想卸载掉adobe reader怎样实现呢?
呵呵,菜鸟的困扰!
附件
压缩包图
压缩包图
头像
greco
帖子: 2487
注册时间: 2007-04-06 10:24
来自: ~/Shanghai

Re: 求助:pdf 文件中文乱码问题?

#5

帖子 greco » 2009-03-27 10:55

大度灯 写了:谢谢2楼的。
另: 用Evince装sudo apt-get install poppler-data后的确可以打开之前乱码的pdf文件,不过标题栏却显示的是一堆乱码?什么原因啊,有什么办法可以解决吗?
在用adobe reader 打开后提示下载安装简体中文字体包,我下下来了,可是不会装,像是一个文件夹的压缩包。呵呵,不知道怎么装这些字体包!寒!!
还有一个问题:如果想卸载掉adobe reader怎样实现呢?
呵呵,菜鸟的困扰!
压缩包里面不是INSTALL文件吗? more INSTALL 看看就知道了

到新德利里面去卸
http://silenceisdefeat.com/~greco

代码: 全选

''.join([chr(ord(c)-2) for c in 'O{"G/ockn"ku<"itgeq0ujkBiockn0eqo'])
echo -n "Z3JlY28uc2hpQGdtYWlsLmNvbQ==" | base64 -d
头像
大度灯
帖子: 25
注册时间: 2008-11-06 11:11

Re: 求助:pdf 文件中文乱码问题?

#6

帖子 大度灯 » 2009-03-28 1:28

回greco:
install有打开看过,不过不是太懂。原文如下:


#!/bin/sh
#
# Install Script for Acrobat Language kit
#
# Copyright (c)1998 Adobe Systems Incorporated
# All Rights Reserved
#
##########################################################################

success=0
failure=1

##########################################################################

yesno()
{
msg="$1"
def="$2"

while : ; do
printf "$msg [$def]"
read answer
if [ "$answer" ] ; then
case "$answer" in
y|Y|yes|YES)
return 0
;;
n|N|no|NO)
return 1
;;
*)
printf "ERROR: Invalid response, expected %s or %s." "\"yes\"" "\"no\""
continue
;;
esac
else
if [ "$def" = "y" ]
then
return 0
else
return 1
fi
fi
done
}

##########################################################################

FindDistFiles()
{
# Get the filenames:
for i in ${ScriptDirectory}/* ; do
if [ -f "$i" ] ; then
case $i in
*/licread.txt*|*/LICREAD.TXT*) LicenseFile="$i" ;;
*/langcom.tar*|*/LANGCOM.TAR*) LangComTar="$i" ;;
*/langchs.tar*|*/LANGCHS.TAR*) LangCHSTar="$i" ;;
*/langcht.tar*|*/LANGCHT.TAR*) LangCHTTar="$i" ;;
*/langjpn.tar*|*/LANGJPN.TAR*) LangJPNTar="$i" ;;
*/langkor.tar*|*/LANGKOR.TAR*) LangKORTar="$i" ;;
*/bincom.tar*|*/BINCOM.TAR*) BinaryCOMTar="$i" ;;
*/install*|*/INSTALL*) ;;
esac
fi
done

# Validate the configurations, need at least one lang tar
if [ -z "$LangCHSTar" \
-a -z "$LangCHTTar" \
-a -z "$LangJPNTar" \
-a -z "$LangKORTar" ]
then
return $failure
fi

if [ -z "$LangComTar" ]
then
return $failure
fi

return $success
}

##########################################################################

GetOS()
{
if [ "`type uname`" != "uname not found" ] ; then
OSname=`uname -s`
if [ "$OSname" = "AIX" ] ; then
OSrelease=`uname -a | ( read name host minor major foo ; echo $major.$minor )`
else
OSrelease=`uname -r`
fi
else
OSname=unknown
OSrelease=unknown
fi
}

##########################################################################

OutputWelcome()
{
printf "%s\n" "Welcome to the Asian Language Kit installation."
printf "%s\n" "This installation will not work if you do not have the Unix Adobe Reader version 8.1 installed prior to this installation."
printf "%s\n" "If you do not have Adobe Reader version 8.1 already installed on your system please do so before installing this Asian Language Kit."
}

OutputLicense ()
{
if [ -z "$PAGER" ] || [ "`type $PAGER`" = "$PAGER not found" ]
then
if [ "`type more`" != "more not found" ] ; then
Pager=more
elif [ "`type pg`" != "pg not found" ] ; then
Pager=pg
else
Pager=cat
fi
else
Pager="$PAGER"
fi

if [ ! -f "$LicenseFile" ] ; then
printf "\n%s\n\n" "ERROR: Cannot find license file ... aborting"
exit 1
fi

$Pager "$LicenseFile"

answer=
while [ -z "$answer" ] ; do
printf "Please type %s to accept the terms and conditions of license agreement; Type %s to exit. " "\"accept\"" "\"decline\""
read answer
ucanswer=`echo "${answer}" | tr '[a-z]' '[A-Z]'`
case "$ucanswer" in
"ACCEPT")
;;
"DECLINE")
printf "%s\n\n" "License agreement not accepted ... aborting installation"
exit 1
;;
*)
printf "ERROR: Invalid response, expected %s or %s.\n" "\"accept\"" "\"decline\""
answer=
;;
esac
done
}

##########################################################################

DefaultInstallDir()
{
defdir="/opt"
case "$OSname" in
SunOS)
case "$OSrelease" in
4.1.3*|4.1.4*|4.1C) defdir="/usr" ;;
5.*) defdir="/opt" ;;
esac
;;
HP-UX)
case "$OSrelease" in
*.09.*) defdir="/usr" ;;
*.10.*) defdir="/opt" ;;
*) defdir="/opt" ;;
esac
;;
IRIX|IRIX64)
defdir="/opt"
;;
AIX)
defdir="/usr/lpp"
;;
esac

echo "$defdir"
}

TestInstallDir()
{
dir="$1"

if [ "`expr "X$dir" : 'X/'`" != 2 ]
then
printf "%s\n" "ERROR: directory must be an absolute path."
return $failure
fi

if [ ! -d "$dir" ]
then
printf "ERROR: Directory %s does not exist.\n" "\"$dir\""
return $failure
fi

if [ ! -d "$dir/Adobe/Reader8/Reader" -o ! -d "$dir/Adobe/Reader8/Resource" ]
then
return $failure
fi

return $success
}

GetInfo()
{
var="$1"
test="$2"
default="$3"
tagline="$4"
val=""

while [ -z "$val" ]
do
printf "${tagline}" "$default"

read ans
var=`echo $ans | cut -d "\"" -f 2`

case "$var" in
~*)
if [ -f /bin/csh -a -x /bin/csh ] ; then
var=`/bin/csh -c "echo $var"`
fi
;;
../*|./*)
var=`pwd`/"${var}"
;;
*)
;;
esac
eval var=\"${var}\"
ans=$var

if [ -z "$ans" ]
then
ans="$default"
fi

if $test "$ans"
then
val="$ans"
fi
done

eval InstallDir=\"$val\"
}

GetInstallInfo()
{
InstallDir="`DefaultInstallDir`"

GetInfo InstallDir TestInstallDir "$InstallDir" "Enter the location where you installed the Adobe Reader [%s] "
}

##########################################################################

ExtractFiles ()
{

prev_directory="`pwd 2> /dev/null`"
cd "$1"

case "`uname -s`" in
Linux)
tar --no-same-owner -xpf "$2" ;;
HP-UX)
tar xfo "$2" ;;
*)
tar xpfo "$2" ;;
esac

cd "$prev_directory"

}


InstallFiles ()
{
msg="$1"
install="$2"
shift
shift

for i in "$@" ; do
if [ "$i" ] ; then
if [ "$msg" ] ; then
printf "\n%s\n" "$msg"
msg=""
fi
ExtractFiles "$install" "$i"
fi
done

if [ -z "$msg" ] ; then
printf "%s\n" "Done"
fi
}

InstallLang()
{
ResourceDir="$InstallDir"

InstallFiles "Installing Common binaries ... " "$InstallDir" "$BinaryCOMTar"
InstallFiles "Installing Common resources ... " "$ResourceDir" "$LangComTar"
InstallFiles "Installing Simplified Chinese language resources ... " "$ResourceDir" "$LangCHSTar"
InstallFiles "Installing Traditional Chinese language resources ... " "$ResourceDir" "$LangCHTTar"
InstallFiles "Installing Japanese language resources ... " "$ResourceDir" "$LangJPNTar"
InstallFiles "Installing Korean language resources ... " "$ResourceDir" "$LangKORTar"
}

##############################################################

#
# Initialization:
#

umask 022

ScriptName=`basename $0`
CurrentDirectory=`pwd`
ScriptDirectory=`dirname $0`
case "${ScriptDirectory}" in
/*) ;;
.) ScriptDirectory="$CurrentDirectory" ;;
*) ScriptDirectory="$CurrentDirectory"/"$ScriptDirectory" ;;
esac

GetOS

FindDistFiles
if [ $? != $success ]
then
printf "%s\n\n" "ERROR: Could not find distribution ... aborting"
exit 1
fi

OutputWelcome
if yesno "Continue installation? " "y"
then
:
else
printf "\n"
exit 1
fi

OutputLicense

GetInstallInfo

InstallLang

printf "%s\n" "Installation completed."
exit 0




呵呵,个人觉得是一个源文件吧。
还有卸载adobe reader在新得立里找不到啊?如何找到它呢?
头像
大度灯
帖子: 25
注册时间: 2008-11-06 11:11

Re: 求助:pdf 文件中文乱码问题?

#7

帖子 大度灯 » 2009-03-28 1:45

回greco:
另外补充:
你的那个代码如何用阿?它是什么意思呢?
头像
大度灯
帖子: 25
注册时间: 2008-11-06 11:11

Re: 求助:pdf 文件中文乱码问题?

#8

帖子 大度灯 » 2009-03-28 3:30

回复大家:
呵呵,忙了N多久之后终于解决了上面的问题了,比较高兴呢。
用Evince的确可以打开之前乱码的pdf文件,不过标题栏却显示的是一堆乱码?这个问题还是不太清楚呢。呵呵不知道有哪位可以解答一下啊。
至于adobe reader 的问题是因为没有装中文包所致。去网上下载中文包
http://www.adobe.com/products/acrobat/a ... l进入选择相应的选项,DOWNLOAD。
下载后是FontPack81_chs_i486-linux.tar.gz包,上我的贴图。解压包后进入CHSKIT文件夹执行INSTALL即可
在命令行中即为sudo ./INSTALL
如果对*.tar.gz包安装不是太清楚的可以参看如下网址:
http://blog.csdn.net/tesge/archive/2004 ... 56838.aspx
估计是没有什么问题了哦,呵呵,实践出真知啊!同志们!
哈哈!
头像
den
帖子: 196
注册时间: 2007-06-15 21:19
来自: 上海

Re: 求助:pdf 文件中文乱码问题?

#9

帖子 den » 2009-03-28 8:41

按照以前wiki速配的方法装的,没什么问题:
sudo apt-get install xpdf-chinese-simplified xpdf-chinese-traditional poppler-data
/****************************************************
/* Work hard, play harder.
/****************************************************
头像
peakgg
帖子: 1122
注册时间: 2006-10-10 9:40

Re: 求助:pdf 文件中文乱码问题?

#10

帖子 peakgg » 2009-04-13 22:03

都不知道开发的人怎么做的配置文件 说不定装了什么软件包就又不行了 不是看不到标题就是看不到正文
发现一个好一点的办法 就是用火狐开pdf 乱码的地方会少些
至于xpdf 扔在那不管吧 早晚有人能弄出万全的配置方法
头像
gaint_star
帖子: 413
注册时间: 2008-02-20 0:09
来自: 深圳
联系:

Re: 求助:pdf 文件中文乱码问题?

#11

帖子 gaint_star » 2009-04-20 13:29

adobe reader for linux 这个估计是英文版的吧
官方有提供中文字提包的
忘记网址了
不过我有上传到网络硬盘中

下載文件 FontPack910_chs_i486-linux.tar.bz2 (24.50 MB)

这个是adobe reader for linux 9.10的中文字体包,解压之后应该有说明文档,看一下就知道如何安装了……
生活就像对待Linux一样,要敢于折腾也要学会折腾。
──────────────────────────────────
@picobird
回复