Export-Document
Exports the document in the specified format.
Syntax
1 | Export-Document -To <String> [-Format <String>] [-Options <Hashtable | String>] [-Document <IDocument>] [-OnExport <Scriptblock | String>] [<CommonParameters>]
|
Parameters
Type |
Name |
Description |
Optional |
---|---|---|---|
String |
To |
Location where the converted file should be saved |
no |
String |
Format |
File extensions:PDF, DWF / DWFX , IGES , STEP , DXF , DWG , GIF , BMP , TIFF , PNG , JPEG. |
yes |
Hashtable / String |
Options |
The document will be exported with the passed options, or configuration Files |
yes |
Document |
The cmdlet will export this document, otherwise the last opened document will be exported |
yes |
|
Scriptblock / String |
OnExport |
The Scriptblock or function that will be executed after collecting the options but before the real export starts |
yes |
Return type
Bool: on success the cmdlet returns $true otherwise $false.
$result.Error <- The result has additionally an Error property which contains the Exception object
$result.Application <- Application is an implementation of IApplication
$result.Document <- Document is an implementation of IDocument
Remarks
When passing invalid -Options the export will not fail, in that case the default settings will be used.
OnExport
For the -OnExport parameter it is either possible to pass a function name or a Scriptblock, which will be executed before the actual export starts.
Therefore the export of the document fails when an exception is thrown within this parameter.
Following parameters are available: $export, $document (=IDocument), $application (=IApplication).
Depending on the application and the output format, the export object has different types.
Independent of the type, the $export object has always following base properties:
Type |
Name |
Description |
Access type |
---|---|---|---|
string |
Name |
The name of the export is the fromat that you pass to the cmdlet |
read-only |
Application |
The application which is used for the export. |
read-only |
|
SourceDocument |
The document that will be exported |
read-only |
|
IFileInfo |
DestinationFile |
The output location and name that was passed to the cmdlet |
read-only |
ExportSettings |
Settings |
The exporting options that are used for the export. ExportSettings.Options real HashTable entiries of -Options |
read-only |
HashSet<string> |
SupportedDocumentTypes |
Conatins all the supported input formats of the export |
read-only |
TranslatorAddin
Exports: PDF, DWF/DWFx, DWG, DXF, IGES, STEP,
Application: Inventor, InventorServer
Exports that are using the TranslatorAddin are working with a rich $export object, that can be manipulated in different ways.
Additional to the base properties, a TranslatorAddinExport has following properties:
Type |
Name |
Description |
Access type |
---|---|---|---|
string |
TranslatorName |
The ID of the translator that is used. Usually this is a GUID |
read-write |
TranslatorAddIn |
TranslatorAddin |
Represents the Inventor API TranslatorAddin object. By default it is created by using the TranslatorName |
read-write |
TranslationContext |
Context |
Represents the Inventor API TranslationContext. By default a new one is created with Type IOMechanismEnum.kFileBrowseIOMechanism |
read-write |
Hashtable |
Options |
Represents the -Options that are passed to the cmldet. When passing INI files, this hash contains already it’s data. Options are only set, when HasSaveCopyAsOptions returns True |
read-write |
DataMedium |
DataMedium |
Represents the Inventor API DataMedium. By default FileName is set to the destination file from -To argument |
read-write |
DataIO
Exports: DWG, DXF
Application: Inventor, InventorServer
Exports that are using the DataIO are the ones for exporting SheetMetal documents.
Additional to the base properties, a SheetMetalExport has following properties:
Type |
Name |
Description |
Access type |
---|---|---|---|
string |
Format |
The first options part for DataIO export, e.g. FLAT PATTERN DWG?… |
read |
SheetMetalComponentDefinition |
SheetMetalComponentDefinition |
Represents the Inventor API SheetMetalComponentDefinition |
read-write |
bool |
Unfold |
when set to True, the SheetMetal will be unfold. By default it is set to !HasFlatPattern |
read-write |
DataIO |
Data |
Represents the Inventor API DataIO object. It is the DataIO value of the SheetMetalComponentDefinition |
read |
Hashtable |
Options |
Represents the -Options that are passed to the cmldet. When passing INI files, this hash contains already it’s data. |
read-write |
SaveAs
Exports: BMP, GIF, JPEG, PNG, TIFF
Application: Inventor, InventorServer
The $export object of exports that are working with SaveAs, has only the property SaveAsCopy to configure as an bool. By default this setting is set to True.
TrueView
Exports: PDF, DWF/DWFx
Application: DWG TrueView
Exports that are using DWG TrueView as an application have in addtion to the base properties, a property DSDFile.
Type |
Name |
Description |
Access type |
---|---|---|---|
FileInfo |
DSDFile |
This property exposes multitple properties which allow you to easy manipulate the dsd file |
read-write |
Examples
Exporting the last opened document to PDF with default options
Open-Document -LocalFile 'C:\Vault\AutoCad\Test.dwg'
Export-Document -format PDF -To C:\Temp\Test.pdf
Exporting with Options
1 | Export-Document -format DXF -To C:\Temp\Test.dxf -Options C:\Temp\test.ini Export-Document -format DXF -To C:\Temp\Test.dxf -Options @{'dpi resolution'='50000px'}
|
Exporting multiple documents
1 2 3 4 | $openPartDocument = Open-Document -LocalFile 'C:\Vault\Designs\Padlock\External\Case Back.ipt'
$openAssemblyDocument = Open-Document -LocalFile 'C:\Vault\Designs\Padlock\Assemblies\Pad Lock.iam'
Export-Document -Document $openPartDocument.Document -format JPEG -To C:\Temp\Case Back.jpg
Export-Document -Document $openAssemblyDocument.Document -format BMP -To C:\Temp\Pad Lock.bmp
|
Validating Export result
1 2 3 4 | $result = Export-Document -format PDF -To C:\Temp\Test.pdf
if(-not $result) {
throw "Failed to export with error: ". $result.Error.Message
}
|
Using the export result
1 2 3 4 | $result = Export-Document -format PDF -To C:\Temp\Test.pdf if($result.Application.Name -eq 'Inventor') {
$result.Document.Instance
#...
}
|
Handling exceptions thrown in OnExport scriptBlock
1 2 3 4 5 6 | $exportResult = Export-Document -Format DWF -To C:\Temp\Test.dwf -OnExport {
#Statement throwing exception
}
if(!$exportResult -and $null -ne $exportResult.Error.InnerException) {
Write-Host ("Exception thrown in OnExport: " + $exportResult.Error.InnerException.ErrorRecord)
}
|
Exporting with even more possibilities in OnExport scriptBlock
1 2 3 4 5 6 7 8 | Export-Document -format PDF -To C:\Temp\Test.pdf -Options C:\Temp\PDF.ini -onExport {
param($export)
$export.Options['All_Color_AS_Black']='1'
$export.Options.Remove('Password_protect')
$export.Options.Remove('Password')
#...
}
|
Doing special stuff in the OnExport, by using the Inventor API
1 2 3 4 5 6 7 8 9 10 | Open-Document -LocalFile 'C:\Vault\Designs\Padlock\Assemblies\Pad Lock.iam'
$result = Export-Document -Format DWF -To C:\Temp\Test.dwf -OnExport {
param($export)
$document = $export.SourceDocument
$export.Application.Instance.Visible=$true
if($document.Instance.DocumentType -eq [Inventor.DocumentTypeEnum]::kAssemblyDocumentObject ) {
$export.Options['Design_Views'] = ...
}
}
|
Doing special stuff in the OnExport, by manipulating the DSD for TrueView
1 2 3 4 5 6 | Open-Document -LocalFile 'C:\Vault\Designs\Acad 2015\ACADE Tutorial\DEMO02.DWG'
Export-Document -Format PDF -To C:\Temp\DEMO02.DWG.pdf -OnExport {
param($export)
$export.DsdFile.PublishExportOptions.Type=5
}
|