我正在尝试从PDF中提取文本.我正在使用Ghostscript,但是当我运行下面的命令时
gs -dBATCH -dNOPAUSE -sDEVICE=txtwrite mypdf.pdf
发生错误.这一个在下面.
Unknown device: txtwrite
Unrecoverable error: undefined in .uninstallpagedevice
Operand stack:
defaultdevice
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?是不是txtwrite默认的ghostscript设备?
这是输出 gs -v
GPL Ghostscript 8.70 (2009-07-31)
Run Code Online (Sandbox Code Playgroud)
那个操作系统版本CentOS release 5.8 (Final).
我有一个使用PHP和ImageMagick工作的PDF到PNG转换脚本,但我遇到了转换速度的问题.
我知道它的工作原理是因为使用非常小的PDF,转换所用的时间并不是那么好,但是使用250kb的文件(实际上还不是那么大),转换需要超过20分钟.
这是PHP:
//***** GET PATH TO IMAGEMAGICK *****
$path_to_imagemagick = trim(`which convert`);
//***** PATH TO PDF TO CONVERT *****
$path_to_pdf = getcwd() . "/pdf/myfile.pdf[0]";
//***** PATH TO OUTPUT TO *****
$output_path = getcwd() . "/pdfimage/test_converted.png";
@exec($path_to_imagemagick . " -density 72 -quality 60 -resize 150x " . $path_to_pdf . " " . $output_path);
Run Code Online (Sandbox Code Playgroud)
我可以更改任何设置以加快速度吗?
如果有帮助,图像不需要是PNG.如果JPEG更快,我很乐意接受它.
最近我接手了旧书/手稿的保存项目.它们数量巨大,近10,000页.我不得不用便携式扫描仪手动扫描它们,因为它们不能在自动书籍扫描仪中扫描.
当我开始在Photoshop中编辑它们时,真正的问题出现了.请注意,它们都基本上是文档(JPG格式),并且这些文档中绝对没有图像.它们使用不同的语言(Oriya),我相信在不久的将来不会有任何OCR软件可用.(如果有,请告诉我.)
为了使这些图像(文档)看起来干净和优雅,我必须裁剪它们,定位它们,稍微增加对比度,用橡皮擦清洁不必要的斑点,等等.我能够在Photoshop中自动化大多数这些过程,但裁剪是我遇到困难的地方.我无法自动裁剪,因为软件无法在img(doc)的某个区域中重新识别文本或内容的存在; 它只是应用赋予它的值进行裁剪.
我想要一个解决方案来自动化这个裁剪过程.我已经想到了这个想法,我不知道它是否足够实用,据我所知,市场上还没有软件能够做到这一点.
对此的可能解决方案:如果工具可以识别图像中文本的存在(这不是非常关键,因为它们都是普通文档图像,其中没有图像,没有图案只是普通矩形)并且可以裁剪它从每一侧的文本边界向外输出,这样它就可以输出没有任何边距的文档图像.其余的任务可以使用Photoshop自动完成,例如为边距添加空格,使用对比度和颜色进行调整,使其更具可读性等.
这是画廊的专辑链接.我可以发布更多样本图片,如果它有用 - 请告诉我.
以下是通过以上链接提供的更大图像样本中的一个示例:

我正在尝试以PDF格式呈现文本.我可以渲染基于矢量的图形,但我也希望它伴随着文本.
在下面提供的测试代码中,文件(当保存为.pdf时)将通过使用矢量图形绘制在左上角显示"Test".
我想使用以下基于文本的命令编写'Test'
BT
/F5 16 Tf
100 100 Td
(Test) Tj
ET
Run Code Online (Sandbox Code Playgroud)
要么
BT
9.6 0 0 9.6 200 200 Tm
/f-0-0 1 Tf
[<0001>169<000200030004>]TJ
ET
Run Code Online (Sandbox Code Playgroud)
但是,似乎都没有产生所需的文本.有什么额外的东西我需要用Tf命令做什么,我将把它包含在我的.pdf源文件中?
您可以使用此pastebin源下载该文件(将扩展名修改为.pdf):
%PDF-1.7
%¿÷¢þ
%QDF-1.0
%% Original object ID: 6 0
1 0 obj
<<
/Pages 3 0 R
/Type /Catalog
>>
endobj
%% Original object ID: 5 0
2 0 obj
<<
/Author (None)
/CreationDate (D:20150109100433)
/Creator (None)
/Keywords (None)
/ModDate (D:20150109100433)
/Producer (None)
/Subject (None)
/Title …Run Code Online (Sandbox Code Playgroud)我运行以下命令在ImageMagick中拆分PDF:
convert file.pdf [5-10] file.png
生成的输出文件始终以零开头.那是:
file-0.png,file-1.png,file-2.png ...
我有什么想法可能做错了吗?文档说明文件应该从5开始后缀,与提取的页面的页码相匹配.
Type1字体/Differences编码在值的映射中使用字符串,例如1个字符被编码为'one'。它仅用于数字和特殊字符。
使用这些编码的标准方法是什么?
我应该如何从使用这种编码的PDF解码字符串?
文件链接:http : //www.filedropper.com/open
我在背景上有一张粘滞便笺的图像(比如一堵墙或一台笔记本电脑),我想要检测粘滞便笺的边缘(粗略检测也可以正常工作),这样我就可以对其进行裁剪.
我计划使用ImageMagick进行实际裁剪,但我仍坚持检测边缘.
理想情况下,我的输出应该给我4个边界点的坐标,这样我就可以在它上面运行我的裁剪.
我该怎么办呢?

我的目录 c:\temp 中有 600 个 TIFF 文件。
文件名如下:
001_1.tif,
001_2.tif,
001_3.tif
002_1.tif,
002_2.tif,
002_3.tif
....
....
200_1.tif,
200_2.tif,
200_3.tif
Run Code Online (Sandbox Code Playgroud)
合并后的文件应放置在同一目录中,文件名称应如下所示:
1_merged.tif
2_merged.tif
.....
.....
200_merged.tif
Run Code Online (Sandbox Code Playgroud)
我正在寻找任何单个命令行/批处理文件通过 ImageMagick convert/mogrify命令或任何其他命令/工具来执行此操作。
请注意,总时间不应超过 5 秒。
tiff imagemagick batch-processing mogrify imagemagick-convert
我使用ImageMagick并需要对图像进行条件调整.
为此,我将identify工具的结果存储到变量中.
$infile='test.jpg'
width=$(identify -ping -format %w $infile)
height=$(identify -ping -format %h $infile)
Run Code Online (Sandbox Code Playgroud)
但在调整大小之前,我想做一些改变图像大小的转换:-trim和-shave.所以我需要在修剪和调整大小之间计算图像大小.而且我只想进行一次修剪操作以进行一些优化.
所以,我想:
$data)$data变量值作为输入传递给identify工具并存储其结果以进行条件调整大小$data给convert工具并完成处理像这样的东西:
data=$(convert logo: -shave 1x1 gif:-)
width=$(echo $data | identify -ping -format %w gif:-)
echo $data | convert -resize "$width"
Run Code Online (Sandbox Code Playgroud)
但是echo根本不起作用.
PS convert和identify是从ImageMagick的工具套件
我正在使用以下命令制作GIF动画文件:
convert -delay 10 -loop 0 *.png animated.gif
Run Code Online (Sandbox Code Playgroud)
但是,问题按* .png的顺序发生。
我的PNG文件就像1.png,2.png,... 100.png。
在生成的动画GIF中,帧的顺序如下:1.png,10.png,100.png,2.png ...
我希望在生成的GIF中快照按顺序依次为1,2,3 ... 100。