mylovecc 发表于 2022-2-15 15:06:45

请教一个python写的批量打印问题!请大佬解答!!

本帖最后由 mylovecc 于 2022-2-15 15:10 编辑

打印的代码如下:for i in range(len(coordinate) + 1):
    pdf_path = out_path + "\\" + str(i) + ".pdf"
    if i == 0:
      plot_layer.Plottable = True
    else:
      plot_layer.Plottable = False
    num = (i // 10) + 1
    layout = doc.layouts.item(str(num))# 先来个layout对象
    doc.ActiveLayout = doc.Layouts(str(num))# 切换到对应布局
    if i % 10 == 0:
      doc.Application.ZoomAll()
      sum_distance = 0
    name = 'Microsoft Print to PDF'
    # layout.StyleSheet = 'acad.ctb'# 选择打印样式
    # layout.PlotWithLineweights = False# 不打印线宽
    layout.ConfigName = name# 选择打印机
    layout.CanonicalMediaName = "A3"# 图纸大小这里选择A3#'ISO_A3_(420.00_x_297.00_MM)'
    # layout.PaperUnits = 1# 图纸单位,1为毫米
    # layout.PlotRotation = 1# 横向打印
    layout.StandardScale = 0# 图纸打印比例
    # layout.CenterPlot = True# 居中打印
    # layout.PlotWithPlotStyles = True# 依照样式打印
    # layout.PlotHidden = False# 隐藏图纸空间对象
    po1 = vtFloat(110.0000, -77.7500])
    po2 = vtFloat(100.0000, 70.7500])# 左下点和右上点
    layout.SetWindowToPlot(po1, po2)
    print(po1, po2)
    layout.PlotType = 3.5# 按照窗口打印,别问我为什么是3.5我试出来的。

    plot.PlotToFile(pdf_path)
    sum_distance = sum_distance + 500
    pdfs.append(pdf_path)
分割线————————————————————————————————————————————————————————

被打印的图纸中,制作了6个布局,每个布局里有10个视口,现在遇到的问题是,总是在部分视口打印的时候卡住。在另一份图纸中打印就很顺利,没有任何问题。
经过我的排查,不是图纸太大的原因,因为几十兆的图纸都能够顺利打印,只不过比较慢,现在怀疑是块参照等东西对打印有影响,请大佬们指点迷津

mylovecc 发表于 2022-2-15 15:08:32

C:\Users\Huangchao\Desktop\屏幕截图 2022-02-15 150746.png

mylovecc 发表于 2022-2-15 15:09:21

CAD卡住的情形
页: [1]
查看完整版本: 请教一个python写的批量打印问题!请大佬解答!!