OdPdfExportModulePtr pModule = ::odrxDynamicLinker()->loadApp(OdPdfExportModuleName, false);
::odrxDynamicLinker()->loadApp(OdPrcModuleName, false);
::odrxDynamicLinker()->loadApp(OdDgn2PrcExportModuleName, false);
::odrxDynamicLinker()->loadModule(L"TG_Db", false);
OdPdfExportPtr exporter = pModule->create();
PDFExportParams params:
params.setDatabase(pDb);
params.setVersion(PDFExportParams::kPDFv1_6);
OdString pdfName = pdfPath;
params.setOutput(odSystemServices()->createFile(pdfName, Oda::kFileWrite, Oda::kShareDenyNo, Oda::kCreateAlways));
params.setExportFlags(PDFExportParams::kDefault);
params.setTitle("Batch PDF File");
params.setAuthor("Dgn2PrcExportTest");
params.setCreator("ODA Platform");
params.setPRCMode(flags);
It is assumed that pDb
is a pointer to the exported .dgn database
and pdfPath
is a string containing the full path to the output
.pdf file.
OdPrcContextForPdfExportPtr pContext = odCreatePrcAllInSingleViewContextForDGN();
params.setPRCContext(pContext);
OdArray layouts = params.layouts();
OdDgModelTablePtr pModelTable = pDb->getModelTable();
if (!pModelTable.isNull())
{
OdDgElementIteratorPtr pIter = pModelTable->createIterator();
for ( ; !pIter->done(); pIter->step() )
{
OdDgModelPtr pModel = OdDgModel::cast( pIter->item().openObject() );
if ( pModel.get() )
{
layouts.push_back(pModel->getName());
}
}
}
params.layouts() = layouts;
params.pageParams().resize(1, OdGsPageParams());
OdUInt32 errCode = exporter->exportPdf(params);
if (errCode != 0)
{
OdString errMes = exporter->exportPdfErrorCode(errCode);
printf("\nexportPdf error returned : 0x%x. \n%s", (unsigned)errCode, (const char*)errMes);
}
See the OdDgn2PdfExportWithPrc sample application for an example of using .dgn to .prc export functionality.
OdPdfExportModulePtr pModule = ::odrxDynamicLinker()->loadApp(OdPdfExportModuleName, false);
::odrxDynamicLinker()->loadApp(OdPrcModuleName, false);
::odrxDynamicLinker()->loadApp(OdDwg2PrcExportModuleName, false);
OdPdfExportPtr exporter = pModule->create();
PDFExportParams params;
params.setDatabase(pDb);
params.setVersion(PDFExportParams::kPDFv1_6);
params.setOutput(odSystemServices()->createFile(pdfPath, Oda::kFileWrite, Oda::kShareDenyNo, Oda::kCreateAlways));
params.setExportFlags(PDFExportParams::PDFExportFlags(PDFExportParams::kDefault));
params.setTitle("Batch PDF File");
params.setAuthor("OdPdfExportWithPrc");
params.setCreator("ODA Platform");
params.setPRCMode(flags);
OdPrcContextForPdfExportPtr pContext = (shouldUseSingleViewMode) ? odCreatePrcAllInSingleViewContextForTD() : odCreatePrcDefaultContextForTD();
params.setPRCContext(pContext);
pDb
is a pointer to the exported .dwg database
and pdfPath
is a string containing the full path to the output
.pdf file.
OdDbBlockTableRecordPtr pLayoutBlock = pDb->getActiveLayoutBTRId().safeOpenObject();
OdDbLayoutPtr pLayout = pLayoutBlock->getLayoutId().safeOpenObject();
params.layouts().push_back(pLayout->getLayoutName());
params.pageParams().resize(1, OdGsPageParams());
See Export to .pdf File Parameters and Flags to get additional information about parameters for .dwg to .pdf export with PRC support.
OdUInt32 errCode = exporter->exportPdf(params);
if (errCode != 0)
{
OdString errMes = exporter->exportPdfErrorCode(errCode);
printf("\nexportPdf error returned : 0x%x. \n%s", (unsigned)errCode, (const char*)errMes);
}
See the OdPdfExportWithPrc sample application for an example of using .dwg to .prc export functionality.
Copyright © 2002 – 2022. Open Design Alliance. All rights reserved.
|