求助:pdf 文件中文乱码问题?
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
- 大度灯
- 帖子: 25
- 注册时间: 2008-11-06 11:11
求助:pdf 文件中文乱码问题?
XP下有许多PDF的文件,现转linux下后打开时发现是一堆乱码 ,尤其为中文。目前使用的是adobe reader for linux。
网上搜过 可能的问题点是gb2312/gbk/gb18030这些国标和utf-8转换时出现的问题。
目前比较郁闷,看不了了资料。
还望解答!谢谢!
网上搜过 可能的问题点是gb2312/gbk/gb18030这些国标和utf-8转换时出现的问题。
目前比较郁闷,看不了了资料。
还望解答!谢谢!
-
- 帖子: 684
- 注册时间: 2008-02-17 22:29
- 来自: 江苏
Re: 求助:pdf 文件中文乱码问题?
代码: 全选
sudo apt-get install poppler-data
- 自由建客
- 帖子: 13468
- 注册时间: 2008-07-30 23:21
- 系统: Debian stable AMD64
- 大度灯
- 帖子: 25
- 注册时间: 2008-11-06 11:11
Re: 求助:pdf 文件中文乱码问题?
谢谢2楼的。
另: 用Evince装sudo apt-get install poppler-data后的确可以打开之前乱码的pdf文件,不过标题栏却显示的是一堆乱码?什么原因啊,有什么办法可以解决吗?
在用adobe reader 打开后提示下载安装简体中文字体包,我下下来了,可是不会装,像是一个文件夹的压缩包。呵呵,不知道怎么装这些字体包!寒!!
还有一个问题:如果想卸载掉adobe reader怎样实现呢?
呵呵,菜鸟的困扰!
另: 用Evince装sudo apt-get install poppler-data后的确可以打开之前乱码的pdf文件,不过标题栏却显示的是一堆乱码?什么原因啊,有什么办法可以解决吗?
在用adobe reader 打开后提示下载安装简体中文字体包,我下下来了,可是不会装,像是一个文件夹的压缩包。呵呵,不知道怎么装这些字体包!寒!!
还有一个问题:如果想卸载掉adobe reader怎样实现呢?
呵呵,菜鸟的困扰!
- greco
- 帖子: 2487
- 注册时间: 2007-04-06 10:24
- 来自: ~/Shanghai
Re: 求助:pdf 文件中文乱码问题?
压缩包里面不是INSTALL文件吗? more INSTALL 看看就知道了大度灯 写了:谢谢2楼的。
另: 用Evince装sudo apt-get install poppler-data后的确可以打开之前乱码的pdf文件,不过标题栏却显示的是一堆乱码?什么原因啊,有什么办法可以解决吗?
在用adobe reader 打开后提示下载安装简体中文字体包,我下下来了,可是不会装,像是一个文件夹的压缩包。呵呵,不知道怎么装这些字体包!寒!!
还有一个问题:如果想卸载掉adobe reader怎样实现呢?
呵呵,菜鸟的困扰!
到新德利里面去卸
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 文件中文乱码问题?
回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在新得立里找不到啊?如何找到它呢?
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 文件中文乱码问题?
回greco:
另外补充:
你的那个代码如何用阿?它是什么意思呢?
另外补充:
你的那个代码如何用阿?它是什么意思呢?
- 大度灯
- 帖子: 25
- 注册时间: 2008-11-06 11:11
Re: 求助:pdf 文件中文乱码问题?
回复大家:
呵呵,忙了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
估计是没有什么问题了哦,呵呵,实践出真知啊!同志们!
哈哈!
呵呵,忙了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 文件中文乱码问题?
按照以前wiki速配的方法装的,没什么问题:
sudo apt-get install xpdf-chinese-simplified xpdf-chinese-traditional poppler-data
sudo apt-get install xpdf-chinese-simplified xpdf-chinese-traditional poppler-data
/****************************************************
/* Work hard, play harder.
/****************************************************
/* Work hard, play harder.
/****************************************************
- peakgg
- 帖子: 1122
- 注册时间: 2006-10-10 9:40
Re: 求助:pdf 文件中文乱码问题?
都不知道开发的人怎么做的配置文件 说不定装了什么软件包就又不行了 不是看不到标题就是看不到正文
发现一个好一点的办法 就是用火狐开pdf 乱码的地方会少些
至于xpdf 扔在那不管吧 早晚有人能弄出万全的配置方法
发现一个好一点的办法 就是用火狐开pdf 乱码的地方会少些
至于xpdf 扔在那不管吧 早晚有人能弄出万全的配置方法
- gaint_star
- 帖子: 413
- 注册时间: 2008-02-20 0:09
- 来自: 深圳
- 联系:
Re: 求助:pdf 文件中文乱码问题?
adobe reader for linux 这个估计是英文版的吧
官方有提供中文字提包的
忘记网址了
不过我有上传到网络硬盘中
下載文件 FontPack910_chs_i486-linux.tar.bz2 (24.50 MB)
这个是adobe reader for linux 9.10的中文字体包,解压之后应该有说明文档,看一下就知道如何安装了……
官方有提供中文字提包的
忘记网址了
不过我有上传到网络硬盘中
下載文件 FontPack910_chs_i486-linux.tar.bz2 (24.50 MB)
这个是adobe reader for linux 9.10的中文字体包,解压之后应该有说明文档,看一下就知道如何安装了……
生活就像对待Linux一样,要敢于折腾也要学会折腾。
──────────────────────────────────
@picobird
──────────────────────────────────
@picobird