// VBA
Dim s1 As Shape
Set s1 = ActiveLayer.CreateRectangle(0.620803, 9.776315, 8.033945, 4.253673)
// в PHP я делаю так
$cdr = new COM("corelDRaw.application" or die("Unable to instantiate CDR"
$cdr->FileOpen("c:/foo.cdr"
$cdr->ActivDocument->ActivePage->ActiveLayer->CreateRectangle(0.620803, 9.776315, 8.033945, 4.253673);
// возвращает ошибку о неверном типе данных
$cdr = new COM("CorelDRaw.application") or die("Unable to instantiate corel");
echo "Loaded CorelDraw, version {$cdr->Version}\n";
$cdr->Visible = 1;
$cdr->CreateDocument();
$s1 = $cdr->ActiveDocument->ActiveLayer->CreateRectangle(0.620803, 9.776315, 8.033945, 4.253673);
$s1->Fill->UniformColor->CMYKAssign( 0, 100, 100, 0 );
$expflt = $cdr->ActiveDocument->ExportBitmap("C:\\Documents and Settings\\igor\\Рабочий стол\\Рисунок1.bmp", cdrOS2BMP, cdrAllPages, cdrRGBColorImage, 185, 191, 72, 72, cdrNormalAntiAliasing, False, False, False, False, cdrCompressionNone);
$expflt->Version = 1 ;
$expflt->Finish;
Fatal error: Uncaught exception 'com_exception' with message 'Parameter 12: Несовпадение типов. ' in Z:\home\test\www\com\example.php:19 Stack trace: #0 Z:\home\test\www\com\example.php(19): variant->ExportBitmap('C:\Documents an...', 'cdrOS2BMP', 'cdrAllPages', 'cdrRGBColorImag...', 185, 191, 72, 72, 'cdrNormalAntiAl...', false, false, false, false, 'cdrCompressionN...') #1 {main} thrown in Z:\home\test\www\com\example.php on line 19
<?
$empty = new VARIANT();
com_load_typelib('CorelDRaw.Application');
$cdr = new COM("CorelDRaw.application") or die("Unable to instantiate corel");
echo "Loaded CorelDraw, version {$cdr->Version}\n";
$cdr->Visible = 1;
$cdr->CreateDocument();
$s1 = $cdr->ActiveDocument->ActiveLayer->CreateRectangle(0.620803, 9.776315, 8.033945, 4.253673);
$s1->Fill->UniformColor->CMYKAssign( 0, 100, 100, 0 );
$cT = $cdr->ActiveDocument->ActiveLayer->CreateArtisticText( 0, 0, date("Y/m/d"), $empty, $empty);
$SaveOptions = $cdr->CreateStructSaveAsOptions();
// With SaveOptions
$SaveOptions->EmbedVBAProject = False;
$SaveOptions->Filter = 1795;
$SaveOptions->IncludeCMXData = False;
$SaveOptions->Range = 0;
$SaveOptions->EmbedICCProfile = False;
$SaveOptions->Version = 9;
$name = "J:\\temp\\art".time().".cdr";
$cdr->ActiveDocument->SaveAs($name, $SaveOptions);
?>
Источник: https://powerclip.ru/modules/newbb/viewtopic.php?topic_id=8749&start=0