天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 44|回复: 0

‎使用 DSD 从 ARX 创建多页 PDF‎

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
[code]static void plot (AcDbDatabase *pDb)
{
  CString pdfPath = "C:\\temp\\pdf\\myPDF.pdf";
  CString deviceName =  L"DWG To PDF.pc3";
  Acad::ErrorStatus es = Acad::eOk;

  const TCHAR *docName;
  es = pDb->getFilename(docName);   

  AcDbLayoutManager *layoutManager =
    acdbHostApplicationServices()->layoutManager();
  AcDbDictionary *layoutDict = NULL;
  es = pDb->getLayoutDictionary(layoutDict, AcDb::OpenMode::kForRead);

  // Start collecting info for the DSD data
  AcPlDSDEntries dsdEntries;
  AcDbDictionaryIterator *layoutIterator = layoutDict->newIterator();

  // If we only want to plot paper spaces and not the model layout
  AcDbObjectId msId = acdbSymUtil()->blockModelSpaceId(pDb);

  for (; layoutIterator && !layoutIterator->done(); layoutIterator->next())
  {
    AcDbObjectPointer<AcDbLayout> layout(
      layoutIterator->objectId(), AcDb::OpenMode::kForRead);

    if (layout->getBlockTableRecordId() == msId)
      continue;

    const ACHAR *layoutName;
    layout->getLayoutName(layoutName);

    AcPlDSDEntry dsdEntry;
    dsdEntry.setLayout(layoutName);
    dsdEntry.setDwgName(docName);
    dsdEntry.setTitle(layoutName);
    dsdEntries.append(dsdEntry);     
  }

  delete layoutIterator;
  layoutDict->close();

  AcPlDSDData dsdData;
  dsdData.setDSDEntries(dsdEntries);  

  dsdData.setProjectPath(L"c:\\temp\\pdf\\");
  dsdData.setLogFilePath(L"c:\\temp\\pdf\\logdwf.log");
  dsdData.setSheetType(AcPlDSDEntry::SheetType::kMultiPDF);
  dsdData.setNoOfCopies(1);
  dsdData.setDestinationName(pdfPath);
  dsdData.setPromptForDwfName(false);
  dsdData.setSheetSetName(L"PublisherSet");

  AcPlPlotConfig *plotConfig;
  acplPlotConfigManager->setCurrentConfig(plotConfig, deviceName);   

  // We need this for acplPublishExecute
  acedArxLoad(L"AcPublish.arx");

  acplPublishExecute(dsdData, plotConfig, false);
}[/code]

 

 

 

 

‎使用 DSD 从 ARX 创建多页 PDF‎
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

GMT+8, 2024-11-1 13:41 , Processed in 0.130850 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表