因PDF打印图纸时需要统计各种图幅的图纸数量,费时、繁琐且人工统计容易出错,所以开发出PDF批量统计尺寸工具 ,现公开给有需要的朋友使用,图纸统计我设置了20mm的误差,即A1尺寸为 594(±20)mm×840 (±20) mm ,则会判定为A1,请注意考虑使用!统计结果供参考使用。
20201028更新:增加统计结果导出Excel功能。
欢迎反馈意见!请直接在下方留言即可。

下载链接:
链接:https://pan.baidu.com/s/1jxUO9gxn7mGl30NpvxCOpA
提取码:dviz

PDF页面统计.exe
MD5: C2808C2A10DD0F282D1FE3E1AE9E852B
75条评论
大牛!加长的 能否加个具体尺寸的数据
是A1+0.25,A1+0.5这类的表示吗?考虑在下次更新的时候增加
对的 是这样的~ 感谢!
你好,我是经常打图的,最好是直接到具体尺寸。
最好还能自动把PDF图纸整理一下,PDF同尺寸的放在一起,设计一个容差值,方便打印。
感谢反馈!下次更新综合考虑增加。
什么时候更新1.5A2,2A2,2.5A2,按0.5递增
一般图纸按0.25递增较多,版本更新后会在百度网盘更新,这个月更新。
就是如果pdf尺寸出现320X464mm等这样的尺寸希望也能有所显示,而不是提示未知尺寸,能显示具体的数值那就最好了
ok
能不能把未知的尺寸,像300*450mm类似的尺寸具体数值显示出来方便我们观看,提示个未知尺寸的话不知道多大谢谢楼主
可以的。
没转曲的PDF文件存在无法识别的情况。 比如我从CAD导PDF的时候选择的画布比我实际图纸尺寸大,然后导出来就会存在白边,接下来将PDF页面白边在PDF内才切掉,再保存PDF文件。
通过这种途径转换出来的PDF文件用本软件统计尺寸会显示未知尺寸。 简单来说就是无法识别PDF净尺寸。
目前1.2版本的容差值是5%,可能会有部分尺寸识别成未定义,后续版本我会将图纸自定义尺寸及容差设置开放出来。
建议设置一个加长图纸的参数设置
可以统计加长图纸。加长图纸的参数设置具体是指什么参数?
试用来下,发现A0+的尺寸显示不准确,比如我841*1800的显示说是A0+0.625,但是实际计算的话应该是A0+0.51左右
有个误差,程序还需要优化
我们使用的一款收费有统计方案,有个标准图的尺寸,还有一个比较详细的,都可以统计出来,不会出你那种未知尺寸,这里没有办法发,有用的可以联系我
谢谢!目前已经够用了。
大神,加一个每个尺寸最后统计的总数
建议最后把每个尺寸的相加,得出总数,期待您的更新
能显示具体加长多长的尺寸么?如果A2+891,A1+1051等等么
后续版本考虑增加多种显示切换功能
多个PDF文件没有合并成一个文件,识别起来就比较慢,如果多个PDF合成了一个PDF文件,速度就快很多。比如一个pdf文件里面有10张,一共10个pdf文件,拖进去识别就很慢。
的确会有差异,程序打开多个PDF会比打开一个PDF文件快,识别很慢,具体点是慢了几分钟还是十几分钟?
出错怎么解决嘞。
有关调用实时(JIT)调试而不是此对话框的详细信息,
请参见此消息的结尾。
************** 异常文本 **************
PdfSharp.Pdf.IO.PdfReaderException: Invalid entry in XRef table, ID=687, Generation=0, Position=0, ID of referenced object=1, Generation of referenced object=0
在 PdfSharp.Pdf.IO.Parser.ReadXRefTableAndTrailer(PdfCrossReferenceTable xrefTable)
在 PdfSharp.Pdf.IO.Parser.ReadTrailer()
在 PdfSharp.Pdf.IO.PdfReader.Open(Stream stream, String password, PdfDocumentOpenMode openmode, PdfPasswordProvider passwordProvider)
在 PdfSharp.Pdf.IO.PdfReader.Open(String path, String password, PdfDocumentOpenMode openmode, PdfPasswordProvider provider)
在 PDF页面统计.Form1.GetPdfsSize(List`1 fileInfos)
在 PDF页面统计.Form1.button2_Click(Object sender, EventArgs e)
在 System.Windows.Forms.Control.OnClick(EventArgs e)
在 System.Windows.Forms.Button.OnClick(EventArgs e)
在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
在 System.Windows.Forms.Control.WndProc(Message& m)
在 System.Windows.Forms.ButtonBase.WndProc(Message& m)
在 System.Windows.Forms.Button.WndProc(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** 已加载的程序集 **************
mscorlib
程序集版本:4.0.0.0
Win32 版本:4.8.4341.0 built by: NET48REL1LAST_C
基本代码:file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
—————————————-
PDF页面统计
程序集版本:1.1.0.0
Win32 版本:1.1.0.0
基本代码:file:///C:/Users/linbin/Desktop/PDF%E9%A1%B5%E9%9D%A2%E7%BB%9F%E8%AE%A11.1.0(%E5%A2%9E%E5%8A%A0%E5%AF%BC%E5%87%BAExcel%E5%8A%9F%E8%83%BD)/PDF%E9%A1%B5%E9%9D%A2%E7%BB%9F%E8%AE%A1.exe
—————————————-
System.Windows.Forms
程序集版本:4.0.0.0
Win32 版本:4.8.4341.0 built by: NET48REL1LAST_C
基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
—————————————-
System
程序集版本:4.0.0.0
Win32 版本:4.8.4300.0 built by: NET48REL1LAST_C
基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
—————————————-
System.Drawing
程序集版本:4.0.0.0
Win32 版本:4.8.4084.0 built by: NET48REL1
基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
—————————————-
System.Configuration
程序集版本:4.0.0.0
Win32 版本:4.8.4190.0 built by: NET48REL1LAST_B
基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
—————————————-
System.Core
程序集版本:4.0.0.0
Win32 版本:4.8.4341.0 built by: NET48REL1LAST_C
基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
—————————————-
System.Xml
程序集版本:4.0.0.0
Win32 版本:4.8.4084.0 built by: NET48REL1
基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
—————————————-
System.Windows.Forms.resources
程序集版本:4.0.0.0
Win32 版本:4.8.4084.0 built by: NET48REL1
基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/System.Windows.Forms.resources.dll
—————————————-
PdfSharp
程序集版本:1.50.5147.0
Win32 版本:1.50.5147.0
基本代码:file:///C:/Users/linbin/Desktop/PDF%E9%A1%B5%E9%9D%A2%E7%BB%9F%E8%AE%A11.1.0(%E5%A2%9E%E5%8A%A0%E5%AF%BC%E5%87%BAExcel%E5%8A%9F%E8%83%BD)/PdfSharp.DLL
—————————————-
mscorlib.resources
程序集版本:4.0.0.0
Win32 版本:4.8.4084.0 built by: NET48REL1
基本代码:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/mscorlib.resources.dll
—————————————-
************** JIT 调试 **************
要启用实时(JIT)调试,
该应用程序或计算机的 .config 文件(machine.config)的 system.windows.forms 节中必须设置
jitDebugging 值。
编译应用程序时还必须启用
调试。
例如:
启用 JIT 调试后,任何未经处理的异常
都将被发送到在此计算机上注册的 JIT 调试程序,
而不是由此对话框处理。
可能不支持这个PDF文件,是否加密过的文件?
如果一个PDF文件,原来是A1大小,我在PDF里面调整成A2大小保存。它识别出来的大小是A1而不是A2。
程序是根据PDF页面实际尺寸识别,你查看下调整后的PDF A2尺寸是多少,与标准A2之间是否误差超过20mm。
建议把正负偏差值设置为可变值,有些图纸超过标准图纸正负20,识别不了。不过这软件反应真的快。
谢谢建议,后续版本考虑
为什么会有未经处理的异常
这个得看下具体情况,如果可以请详细描述下
个人建议添加A3加长图的算法,还有就是快速合计A2的算法,因为大多数都是要合计到A2计算的
实在太忙,已经把源码放出来了,供大家自行优化
导出Excel出错
麻烦提供下出错信息
原来是大图,切边后成A3 统计还是大图
太牛了!
如果能加个具体尺寸出来,就更完美了 就是A1+0.25是多长 549乘 多少。。。。
实在太忙,已经把源码放出来了,供大家自行优化
单击添加文件选中PDF确定后出现错误提示:
应用程序发生了未经处理的异常。如果单击继续,应用程序将忽略此错误…..
有关调用实时(JIT)调试而不是此对话框的详细信息,
请参见此消息的结尾。
************** 异常文本 **************
System.InvalidOperationException: Object already in table.
在 PdfSharp.Pdf.Advanced.PdfCrossReferenceTable.Add(PdfReference iref)
在 PdfSharp.Pdf.IO.Parser.ReadXRefStream(PdfCrossReferenceTable xrefTable)
在 PdfSharp.Pdf.IO.Parser.ReadXRefTableAndTrailer(PdfCrossReferenceTable xrefTable)
在 PdfSharp.Pdf.IO.Parser.ReadTrailer()
在 PdfSharp.Pdf.IO.PdfReader.Open(Stream stream, String password, PdfDocumentOpenMode openmode, PdfPasswordProvider passwordProvider)
在 PdfSharp.Pdf.IO.PdfReader.Open(String path, String password, PdfDocumentOpenMode openmode, PdfPasswordProvider provider)
在 PdfSharp.Pdf.IO.PdfReader.Open(String path, PdfDocumentOpenMode openmode)
在 PDF页面统计.Form1.GetPdfsSize(List`1 fileInfos)
在 PDF页面统计.Form1.CountPDFpages(List`1 lstFileInfos)
在 PDF页面统计.Form1.CountPDFpages(List`1 lstPdfFiles)
在 PDF页面统计.Form1.button2_Click(Object sender, EventArgs e)
在 System.Windows.Forms.Control.OnClick(EventArgs e)
在 System.Windows.Forms.Button.OnClick(EventArgs e)
在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
在 System.Windows.Forms.Control.WndProc(Message& m)
在 System.Windows.Forms.ButtonBase.WndProc(Message& m)
在 System.Windows.Forms.Button.WndProc(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** 已加载的程序集 **************
mscorlib
程序集版本: 4.0.0.0
Win32 版本: 4.7.3062.0 built by: NET472REL1
基本代码: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
—————————————-
PDF页面统计
程序集版本: 1.3.0.0
Win32 版本: 1.3.0.0
基本代码: file:///C:/Program%20Files%20(x86)/%E5%B9%BF%E5%B7%9E%E5%8D%8E%E7%A7%91%E5%B7%A5%E7%A8%8B%E6%8A%80%E6%9C%AF%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8/PDF%E9%A1%B5%E9%9D%A2%E7%BB%9F%E8%AE%A1%E5%AE%89%E8%A3%85%E5%8C%85/PDF%E9%A1%B5%E9%9D%A2%E7%BB%9F%E8%AE%A1.exe
—————————————-
System.Windows.Forms
程序集版本: 4.0.0.0
Win32 版本: 4.7.3062.0 built by: NET472REL1
基本代码: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
—————————————-
System
程序集版本: 4.0.0.0
Win32 版本: 4.7.3062.0 built by: NET472REL1
基本代码: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
—————————————-
System.Drawing
程序集版本: 4.0.0.0
Win32 版本: 4.7.3062.0 built by: NET472REL1
基本代码: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
—————————————-
System.Configuration
程序集版本: 4.0.0.0
Win32 版本: 4.7.3062.0 built by: NET472REL1
基本代码: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
—————————————-
System.Core
程序集版本: 4.0.0.0
Win32 版本: 4.7.3062.0 built by: NET472REL1
基本代码: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
—————————————-
System.Xml
程序集版本: 4.0.0.0
Win32 版本: 4.7.3062.0 built by: NET472REL1
基本代码: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
—————————————-
System.Windows.Forms.resources
程序集版本: 4.0.0.0
Win32 版本: 4.0.30319.1 built by: RTMRel
基本代码: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/System.Windows.Forms.resources.dll
—————————————-
Microsoft.GeneratedCode
程序集版本: 1.0.0.0
Win32 版本: 4.7.3062.0 built by: NET472REL1
基本代码: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
—————————————-
PdfSharp
程序集版本: 1.50.4740.0
Win32 版本: 1.50.4740.0
基本代码: file:///C:/Program%20Files%20(x86)/%E5%B9%BF%E5%B7%9E%E5%8D%8E%E7%A7%91%E5%B7%A5%E7%A8%8B%E6%8A%80%E6%9C%AF%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8/PDF%E9%A1%B5%E9%9D%A2%E7%BB%9F%E8%AE%A1%E5%AE%89%E8%A3%85%E5%8C%85/PdfSharp.DLL
—————————————-
mscorlib.resources
程序集版本: 4.0.0.0
Win32 版本: 4.0.30319.1 (RTMRel.030319-0100)
基本代码: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/mscorlib.resources.dll
—————————————-
************** JIT 调试 **************
要启用实时(JIT)调试,
该应用程序或计算机的 .config 文件(machine.config)的 system.windows.forms 节中必须设置
jitDebugging 值。
编译应用程序时还必须启用
调试。
例如:
启用 JIT 调试后,任何未经处理的异常
都将被发送到在此计算机上注册的 JIT 调试器,
而不是由此对话框处理。
建议增加图幅总数统计
实在太忙,已经把源码放出来了,供大家自行优化
建议增加更多在加长尺寸
实在太忙,已经把源码放出来了,供大家自行优化
能否增加个功能,就是只按PDF高度划分,比如A2,不管加多长都划分为A2。
实在太忙,已经把源码放出来了,供大家自行优化
超过50个pdf就报错
你试试1.3版本
能不能文件夹下面,多个文件,每个文件的页数,尺寸
可以实现,不过目前没有时间去更新维护。
谢谢救我狗命
兄弟,言重了!
可否添加一个总计 比方说折合成A2的多少张
因本人工作太忙,软件暂停维护了(* ̄︶ ̄)
经过今天大半天的折腾,标题栏显示路径,表格区显示合计了。
经过今天大半天的折腾,标题栏显示路径,表格区显示合计了。
今天统计PDF尺寸的过程中出现错误。图纸尺寸为84.6*59.8 ,正常容差下应该算成A1的,但是全部都统计到A1+0.75当中。
这需要具体调试下,你方便的话把pdf发给我,邮箱在关于页面。http://www.bimzd.com/about
大佬可以改一个统计jpg的吗
今年比较忙,暂时没空改,你可以发下你的需求给我邮箱
谢谢!
图纸扫描件出现应用程序发生了未经处理的异常……….,要求非负数,参数名value
得具体调试看看,有可能是扫描出来的pdf程序读取的时候出错了
非常实用的工具
存在个问题 假如文件夹中某个PDF文件有问题打不开 会报错
但是点击继续睡后不会返回统计结果
当初没加入错误捕捉,后面有时间再完善了。
dwf格式的能不能统计啊?
目前只支持PDF格式统计
功德软件 简单明了就是没加长图纸的设置
希望大哥可以增加一个图纸A0+A1+A2+的尺寸 那就完美了
1.2后面的版本有加长图纸统计,http://www.bimzd.com/archives/2020/11/370
感谢大神,很好用,单纯的来支持一下!
拉进去500页PDF扫描件程序崩溃,这程序是有文件大小限制还是页数现在啊?
都没限制,可能是读取信息的时候崩了