修改pc3文件还没做好..大家先look look怎么读....

首先弄一个控制台程序,

然后去下载 Ionic.Zip 这个东西...载到控制台...都很简单...

然后就是复制下面代码,看控制台显示和代码注释....

namespace ConsoleApp1
{class Program{static void Main(){            string pc3Path = @"D:\桌面\DWG To PDF.pc3"; //cad2008的东西 Pc3PmpDecompress(pc3Path, pc3Path + ".txt"); //解压
        }/// <summary>/// 解压pc3和pmp打印机文件/// </summary>/// <param name="pc3OrPmpPath">打印机路径</param>/// <param name="txtPathOut">输出txt路径</param>public static void Pc3PmpDecompress(string pc3OrPmpPath, string txtPathOut){using (FileStream fs = File.Open(pc3OrPmpPath, FileMode.Open, FileAccess.ReadWrite)){//版本信息int ver1 = 48;{byte[] buffer = new byte[ver1];fs.Read(buffer, 0, ver1);string str = Encoding.Default.GetString(buffer);Console.Write(Environment.NewLine + "版本信息:" + Environment.NewLine + str);}//12字节=3个int,第一个记录 "校验和" "adler"方式int ver2 = 4;{//"校验和"读取byte[] checkSum = new byte[ver2];fs.Read(checkSum, 0, ver2);//转为16进制再读var ss = new List<string>();for (int index = 0; index < checkSum.Length; index++){var shiliu = ((int)checkSum[index]).ToString("X2");ss.Add(shiliu);}Console.Write(Environment.NewLine + "压缩校验和:" + Environment.NewLine + string.Join(" ", ss.ToArray()));}int ver3 = 8;{//第二个是原始数据的字节数//第三个是压缩后的字节数BinaryReader br = new BinaryReader(fs);var ss = new int[2];for (int i = 0; i < 2; i++){ss[i] = br.ReadInt32();}Console.Write(Environment.NewLine + "压缩前的字节数:" + Environment.NewLine + ss[0].ToString());Console.Write(Environment.NewLine + "压缩后的字节数:" + Environment.NewLine + ss[1].ToString());}int ver4 = ver1 + ver2 + ver3; //前面头信息不能解压fs.Seek(ver4, SeekOrigin.Begin);//从新设置开始的位置,但是不设置也会自动读到这里using (ZlibStream zs = new ZlibStream(fs, CompressionMode.Decompress))//zip流,解压
                {using (StreamReader sr = new StreamReader(zs, Encoding.Default))//流读取器 乱码原因
                    {string str = sr.ReadToEnd(); //读到结束  using (FileStream fs_out = File.Open(txtPathOut, FileMode.Create, FileAccess.ReadWrite))//新建文本
                        {byte[] bys = Encoding.Default.GetBytes(str);var lenhth = Encoding.Default.GetBytes(str).Length;fs_out.Write(bys, 0, lenhth);//写入读取的信息
                        }Console.Write(Environment.NewLine + "压缩包内容:" + Environment.NewLine + str);}zs.Dispose();}fs.Dispose();}Console.ReadKey();}}
}

特别感谢的是找到方法的疯狂青蛙: http://www.cnblogs.com/cadlife

和不厌其烦教我怎么读16进制的e大: https://www.cnblogs.com/edata

然后是瞎几把翻译,原因是我还没读透这些东西....部分?号可能是乱码,具体还没设置好

meta 元数据{user_defined_model_pathname 用户定义的模型路径="F:\K01.惊惊盒子\04.工作小工具\2019dwgToPdf打印机\DWG To PDF.pmpuser_defined_model_basename 用户定义的模型基名="
 driver_pathname 驱动程序路径名="C:\Program Files (x86)\AutoCAD 2008\drv\gdiplot9.hdidriver_version 驱动程序版本="1.1-9.1.51.0driver_tag_line 驱动标记线 ="Windows 系统驱动程序 - 由 Autodesk 提供toolkit_version 工具工具包版本=1driver_type 驱动程序类型=1canonical_family_name 简洁表达的家庭名称="Systemshow_custom_first 先显示自定义=TRUEtruetype_as_text 类型是文本=TRUEcanonical_model_name 规范模型名称="Systemlocalized_family_name 本地化的家庭名称="系统localized_model_name 局部模型名称="系统file_only 只有文件=FALSEmodel_abilities 模型能力="555555555055udm_description UDM描述="
 win_device_name 视窗系统设备名称="pdfFactory Prowin_driver_name 视窗系统设备名称= "pdfFactory 6short_net_name 短网名="pdfFactory Profriendly_net_name 友好的网络名称="FPP6:dm_driver_version dm_驱动程序版本=1555default_system_cfg 默认系统配置=FALSEplatform 平台="2,6,1locale 现场="4B00409
}
mod{media 媒体{abilities 能力="100004455400144444000005005005000400000000000005000caps_state caps状态="00000ui_owner 拥有人="22212222121111212112221size_max_x 纸张最大的规格的x=914.40002441 (    0#.3C$ &E@)size_max_y 纸张最大的规格的y=1219.2000732 (    X,P,DT 5'@)
  description 描述{0{caps_type=1name 名称="ISO_A4_Portrait_210.00W_x_297.00H_-_(5,_17)_x_(205,_280)_=52600_MMmedia_bounds_urx 媒体边界x=210.0media_bounds_ury 媒体边界y=297.0printable_bounds_llx 可打印长边边界x=0.0printable_bounds_lly 可打印长边边界y=0.0printable_bounds_urx 可打印短边边界x=210.0printable_bounds_ury 可打印短边边界y=297.0printable_area 可打印面积=62370.0dimensional 尺寸=TRUE}//其他的都是每个纸张的信息1{caps_type=1name="ISO_A4_Landscape_297.00W_x_210.00H_-_(5,_17)_x_(292,_193)_=50512_MMmedia_bounds_urx=297.0media_bounds_ury=210.0printable_bounds_llx=0.0printable_bounds_lly=0.0printable_bounds_urx=297.0printable_bounds_ury=210.0printable_area=62370.0dimensional=TRUE}2{caps_type=1name="ISO_A3_Portrait_297.00W_x_420.00H_-_(5,_17)_x_(292,_403)_=110782_MMmedia_bounds_urx=297.0media_bounds_ury=420.0printable_bounds_llx=0.0printable_bounds_lly=0.0printable_bounds_urx=297.0printable_bounds_ury=420.0printable_area=124740.0dimensional=TRUE}3{caps_type=1name="ISO_A3_Landscape_420.00W_x_297.00H_-_(5,_17)_x_(415,_280)_=107830_MMmedia_bounds_urx=420.0media_bounds_ury=297.0printable_bounds_llx=0.0printable_bounds_lly=0.0printable_bounds_urx=420.0printable_bounds_ury=297.0printable_area=124740.0dimensional=TRUE}4{caps_type=1name="ISO_A2_Portrait_420.00W_x_594.00H_-_(5,_17)_x_(415,_577)_=229600_MMmedia_bounds_urx=420.0media_bounds_ury=594.0printable_bounds_llx=0.0printable_bounds_lly=0.0printable_bounds_urx=420.0printable_bounds_ury=594.0printable_area=249480.00000 (     $!T#D$:G )dimensional=TRUE}5{caps_type=1name="ISO_A2_Landscape_594.00W_x_420.00H_-_(5,_17)_x_(589,_403)_=225424_MMmedia_bounds_urx=594.0media_bounds_ury=420.0printable_bounds_llx=0.0printable_bounds_lly=0.0printable_bounds_urx=594.0printable_bounds_ury=420.0printable_area=249480.00000 (     $!T#D$:G )dimensional=TRUE}6{caps_type=1name="ISO_A1_Portrait_594.00W_x_841.00H_-_(5,_17)_x_(589,_824)_=471288_MMmedia_bounds_urx=594.0media_bounds_ury=841.0printable_bounds_llx=0.0printable_bounds_lly=0.0printable_bounds_urx=594.0printable_bounds_ury=841.0printable_area=499554.00000 (     (A]'D&X?P)dimensional=TRUE}7{caps_type=1name="ISO_A1_Landscape_841.00W_x_594.00H_-_(5,_17)_x_(836,_577)_=465360_MMmedia_bounds_urx=841.0media_bounds_ury=594.0printable_bounds_llx=0.0printable_bounds_lly=0.0printable_bounds_urx=841.0printable_bounds_ury=594.0printable_area=499554.00000 (     (A]'D&X?P)dimensional=TRUE}8{caps_type=1name="ISO_expand_A1_Portrait_594.00W_x_841.00H_-_(5,_10)_x_(589,_831)_=479464_MMmedia_bounds_urx=594.0media_bounds_ury=841.0printable_bounds_llx=0.0printable_bounds_lly=0.0printable_bounds_urx=594.0printable_bounds_ury=841.0printable_area=499554.00000 (     (A]'D&X?P)dimensional=TRUE}9{caps_type=1name="ISO_expand_A1_Landscape_841.00W_x_594.00H_-_(5,_10)_x_(836,_584)_=476994_MMmedia_bounds_urx=841.0media_bounds_ury=594.0printable_bounds_llx=0.0printable_bounds_lly=0.0printable_bounds_urx=841.0printable_bounds_ury=594.0printable_area=499554.00000 (     (A]'D&X?P)dimensional=TRUE}10{caps_type=1name="ISO_A0_Portrait_841.00W_x_1189.00H_-_(5,_17)_x_(836,_1172)_=959805_MMmedia_bounds_urx=841.0media_bounds_ury=1189.0printable_bounds_llx=0.0printable_bounds_lly=0.0printable_bounds_urx=841.0printable_bounds_ury=1189.0printable_area=999949.00000 (     !J$+D$QEP)dimensional=TRUE}11{caps_type=1name="ISO_expand_A0_Portrait_841.00W_x_1189.00H_-_(5,_10)_x_(836,_1179)_=971439_MMmedia_bounds_urx=841.0media_bounds_ury=1189.0printable_bounds_llx=0.0printable_bounds_lly=0.0printable_bounds_urx=841.0printable_bounds_ury=1189.0printable_area=999949.00000 (     !J$+D$QEP)dimensional=TRUE}}}
}
del 删除{media 美体{abilities 能力="100004455400144444000005005005000400000000000005000caps_state ="00000ui_owner 拥有人="22212222121111212112221size_max_x =914.40002441 (    0#.3C$ &E@)size_max_y=1219.2000732 (    X,P,DT 5'@)
 }
}
udm{calibration{_x=1.0_y=1.0}media{abilities="100004455400144444000005005005000400000000000005000caps_state="00000ui_owner="22212222121111212112221size_max_x=914.40002441 (    0#.3C$ &E@)size_max_y=1219.2000732 (    X,P,DT 5'@)
 }
}
hidden 隐藏的{media 媒体{abilities 能力="100004455400144444000005005005000400000000000005000caps_state="00000ui_owner="22212222121111212112221size_max_x=914.40002441 (    0#.3C$ &E@)size_max_y=1219.2000732 (    X,P,DT 5'@)
 }
}

转载于:https://www.cnblogs.com/JJBox/p/10909297.html

cad.net 读取pc3,pmp 读取pc3打印机文件相关推荐

  1. java 读取txt,java读取大文件

    java 读取txt,java读取大文件 package com.bbcmart.util; import java.io.File; import java.io.RandomAccessFile; ...

  2. C++ Opencv 读取指定路径中的所有文件(图片)及指定路径中指定格式的所有文件(图片)

    读取指令路径下的所有文件,程序如下: #include <io.h> #include < fstream> #include < string> #include ...

  3. 如何使用Python创建,读取,更新和搜索Excel文件

    This article will show in detail how to work with Excel files and how to modify specific data with P ...

  4. android读取SDCard任意路径下的文件

    2019独角兽企业重金招聘Python工程师标准>>> 文件不能太大否则会报内存溢出 [java]  view plain copy package yu.bin; import j ...

  5. 读取SD卡里面的BMP文件 显示到TFT上

    读取SD卡里面的BMP文件 显示到TFT上 http://blog.csdn.net/yunxianpiaoyu/article/details/8841755 我刚好最近做了一个BMP565格式的图 ...

  6. 利用TinyXML读取VOC2012数据集的XML标注文件裁剪出所有人体目标保存为文件

    转载自:利用TinyXML读取VOC2012数据集的XML标注文件裁剪出所有人体目标保存为文件 - Why So Serious? - 博客频道 - CSDN.NET  http://blog.csd ...

  7. TF学习——TF数据读取:TensorFlow中数据读这三张图片的5个epoch +把读取的结果重新存到read 文件夹中

    TF学习--TF数据读取:TensorFlow中数据读这三张图片的5个epoch +把读取的结果重新存到read 文件夹中 目录 实验展示 代码实现 实验展示 代码实现 1.如果设置shuffle为T ...

  8. 如何读取jar包外的properties文件和log4j.properties

    2019独角兽企业重金招聘Python工程师标准>>> 时间有限,不做排版和具体讲述问题产生的过程,下面是我的解决方案,已证实有效,其中Log4jP = "log4j.pr ...

  9. php记录读取数据类型,数据读取 · ThinkPHP 3.2.3开发手册 · 看云

    # 数据读取 在ThinkPHP中读取数据的方式很多,通常分为读取数据.读取数据集和读取字段值. 数据查询方法支持的连贯操作方法有: 连贯操作 作用 支持的参数类型where 用于查询或者更新条件的定 ...

最新文章

  1. matplotlib的安装
  2. VirtualBox Linux Samba 设置
  3. linux下用户配置文件与系统配置文件
  4. Redux源码分析(一)
  5. 大数据WEB阶段(二十)更新丢失
  6. java arraylist 字符串_Java ArrayList、string、string[]之间的转换
  7. Ubuntu18.04 Flutter开发环境搭建
  8. android getter不起作用,java - 如何在Android Studio中自动生成getter和setter
  9. caioj1495: [视频]基于连通性状态压缩的动态规划问题:Formula 2
  10. 自定义UITabBar
  11. EXTjs+SpringMVC+Mybatis实现照片的上传,下载,查看关键技术整理
  12. 复旦大学入学计算机考试大纲,《计算机办公自动化》课程入学考试考核大纲和样题-复旦大学外国留学生...
  13. java计算机毕业设计基于安卓Android的团务智慧管理APP(源码+系统+mysql数据库+Lw文档)
  14. 快速检测深度学习的鲁棒性
  15. zigbee网关 CC2530 zstack用手机显示终端传来的lm75a温度传感器的值
  16. 小故事分解区块链--科普篇
  17. stm32f107基本资料
  18. [http]http转义和加解密方法
  19. Nat Commun:中国中医科学院黄璐琦院士/首都医科大学高伟教授团队联合解析雷公藤甲素生物合成关键C-14位羟化机制...
  20. 2014突破性科学技术:超隐私智能手机

热门文章

  1. VMware中centos6.5 minimal 使用NAT模式联网
  2. listview当选中某一个item时设置背景色其他的不变
  3. 电脑文件太多找不到?试试这个免费搜索软件
  4. Linux Python 安装第三方库时报错 package wheel is not installed
  5. Mac上的IDEA安装配置maven
  6. SAP License:SAP S/4HANA就是答案
  7. SAP自学指南:案例公司的管理难题
  8. SAP License:SAP用户权限
  9. 赛锐信息:PM模块的几点看法
  10. 项目管理系统、工作台、经营看板、质量管理、合同管理、合同审核、新建合同、分包商管理、立项审批、创建项目、项目模板、项目统计、计划管理、结项申请、审批流程、审批记录、审批状态、参数设置、axure原型