Board logo

标题: [文件操作] 批处理将PDF文件另存为JGP再将JPG片文件大小调整为800*600? [打印本页]

作者: at86397388    时间: 2010-4-16 16:22     标题: 批处理将PDF文件另存为JGP再将JPG片文件大小调整为800*600?

如何用批处理将PDF文件另存为JGP,然后再将JGP图片文件太小调整为800*600

谢谢
作者: batman    时间: 2010-4-16 16:40

批处理不是万能的,楼主还是找下其他的软件和工具吧。。。
作者: renmingwu    时间: 2010-4-16 16:45

哈哈,批处理做不到,另外那也不是JGP,应该是JPG吧!
你用PHOTOSHOP处理吧,那个能处理,至于处理我看你还是去PHOTOSHOP论坛去问吧,要知道术业有专攻,CMD不善于图片处理。
作者: at86397388    时间: 2010-4-16 16:46

因为经常要这样,操作都是固定的,所以想到用这个,可不是很会,
作者: at86397388    时间: 2010-4-16 16:48

呵呵,打错了,是JPG,

我的意思的,我现在每次都是打开Adobe Acrobat将PDF另存为JPG,然后再用ACDSEE打开JPG,再调整大小,我的想法是,能不能用BAT自动执行我这些操作,应该可以吧,有哪位大虾帮帮我,
3Q了
作者: GNU    时间: 2010-4-16 16:55

1、pdf转jpg可以使用软件pdf2jpg
2、调整jpg大小可以使用命令行工具nconvert.exe
3、你一定要使用这么大的、红色的字体么?
作者: at86397388    时间: 2010-4-16 17:03

SORRY,.看了一下午电脑了,眼睛疼,呵呵所以就弄大些字体了,
楼上,我的意思是想直接点BAT文件,然后让它自动转成我想要的结果,因为结果都是固定的,(打开Adobe Acrobat将PDF另存为JPG,然后再用ACDSEE打开JPG,再调整大小   这个操作是固定的),还是谢谢楼上
作者: ___    时间: 2010-4-16 17:17

命令行工具:
    pdf 转图片:pdfimages.exe
    调整图片大小:nconvert.exe 或 IrfanView
作者: GNU    时间: 2010-4-16 17:24     标题: 回复 7楼 的帖子

批处理不是按键精灵,并非所有的鼠标操作都适合由它来模拟。
作者: at86397388    时间: 2010-4-16 17:28

哦,谢谢了,如果可以实现的话最好了,
作者: ___    时间: 2010-4-16 20:20     标题: pdf2jpg.bat

  1. @echo off
  2. title pdf2jpg
  3. set /a Width = 800, Height = 0
  4. if "%~1"=="" goto Exit
  5. echo 是否提取 PDF 中的图片,并调整大小至 %Width%*%Height%?
  6. echo,
  7. pause
  8. cls
  9. if "%Height%"=="0" set var=/aspectratio
  10. path %path%;%~dp0
  11. for %%a in (%*) do if /i "%%~xa"==".pdf" call :pdf2jpg %%a
  12. exit /b
  13. :pdf2jpg
  14.     md "%~dpn1" 2>nul
  15.     echo 正在从“%~nx1”中提取图片...
  16.     pdfimages -j %1 "%~dpn1\%~n1"
  17.     echo     正在调整图片大小...
  18.     i_view32 "%~dpn1\*.jpg" /resize=(%Width%,%Height%) /convert=*.jpg %var%
  19.     goto :eof
  20. :Exit
  21.     echo 请把 PDF 文件拖到批处理图标上(可批量)
  22.     echo,
  23.     echo 按任意键退出...
  24.     pause > nul
  25.     exit /b
复制代码
下载: http://good.gd/475307.htm
(含 pdfimages.exe、i_view32.exe、pdf2jpg.bat、i_view32_Command line Options.txt)

[ 本帖最后由 ___ 于 2010-4-17 16:57 编辑 ]
作者: at86397388    时间: 2010-4-17 11:01

人才啊,谢谢了,呵呵
作者: at86397388    时间: 2010-4-17 11:02

要是能把这三个封装在一起,成为一个程序图标就好了,呵呵
作者: at86397388    时间: 2010-4-17 11:19

想到办法了,我把pdf2jpg.bat发送快捷方式到桌面,然后把cd /d "%~dp0"删了,呵呵,

还有个问题,想问下楼上,
i_view32.exe "%~dpn1\*.jpg" /resize=(800,600) /convert=*.jpg

resize=(800,600)的意思应该是把图片调整为800*600,如果我的要求是只管800那个方向,就是800*?,   ?可以是任意吗,如果可以,该怎么改呢,是(800,*)吗,我试了下,不对,
作者: GNU    时间: 2010-4-17 13:02     标题: 回复 14楼 的帖子

在resize之前可以先获取一下原始的分辨率
作者: ___    时间: 2010-4-17 13:15

可以创建 pdf2jpg.bat 的快捷方式到【发送到】文件夹,以后“右击 PDF 文件→发送到→pdf2jpg.bat”就行了。

把 pdf2jpg.bat 改成:
  1. @echo off
  2. title pdf2jpg
  3. set /a Width = 800, Height = 0
  4. if "%~1"=="" goto Exit
  5. echo 是否提取 PDF 中的图片,并调整大小至 %Width%*%Height%?
  6. echo,
  7. pause
  8. cls
  9. if "%Height%"=="0" set var=/aspectratio
  10. path %path%;%~dp0
  11. for %%a in (%*) do if /i "%%~xa"==".pdf" call :pdf2jpg %%a
  12. exit /b
  13. :pdf2jpg
  14.     md "%~dpn1" 2>nul
  15.     echo 正在从“%~nx1”中提取图片...
  16.     pdfimages -j %1 "%~dpn1\%~n1"
  17.     echo     正在调整图片大小...
  18.     i_view32 "%~dpn1\*.jpg" /resize=(%Width%,%Height%) /convert=*.jpg %var%
  19.     goto :eof
  20. :Exit
  21.     echo 请把 PDF 文件拖到批处理图标上(可批量)
  22.     echo,
  23.     echo 按任意键退出...
  24.     pause > nul
  25.     exit /b
复制代码

[ 本帖最后由 ___ 于 2010-4-17 16:32 编辑 ]
作者: at86397388    时间: 2010-4-19 08:28

有个问题,pdfimages.exe是不是只能用在PDF里的文件是JPG的时候呢,就像我直接用扫描仪扫成的PDF,就转换不了了,
作者: at86397388    时间: 2010-4-19 09:08

我是想把PDF转成JPG,而不是把PDF中的图片抽取出来,因为不然PDF里没有图片,转换就会失败
作者: ___    时间: 2010-4-20 00:17     标题: 回复 18楼 的帖子

安装 GhostscriptIrfanView 的 Postscript.dll 插件后可以实现。将提取图片的代码改成:
  1. i_view32 %1 /extract=("%~dpn1",jpg) /killmesoftly
复制代码
下载: http://good.gd/478574.htm
(内含 i_view32.exe、gs871w32.exe、pdf2jpg.bat、Postscript.dll)
下载后请先安装压缩包内的 gs871w32.exe(Ghostscript 8.71)

[ 本帖最后由 ___ 于 2010-4-20 00:32 编辑 ]




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2