Community
Inventor Programming - iLogic, Macros, AddIns & Apprentice
Inventor iLogic, Macros, AddIns & Apprentice Forum. Share your knowledge, ask questions, and explore popular Inventor topics related to programming, creating add-ins, macros, working with the API or creating iLogic tools.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Print/Save to PDF Issue

2 REPLIES 2
Reply
Message 1 of 3
bennywise578
1270 Views, 2 Replies

Print/Save to PDF Issue

Hi,

 

I am simply trying to print or save an Inventor .DWG file to a .PDF file via C# - the issue being that the .PDF page size must correspond to the active sheet size in Inventor.

 

When I try printing to a PDF using:

 

oPrint.Printer = "Adobe PDF";

oPrint.ScaleMode = PrintScaleModeEnum.kPrintBestFitScale;

oPrint.PaperSize = PaperSizeEnum.kPaperSize11x17;

oPrint.Orientation = PrintOrientationEnum.kLandscapeOrientation;

oPrint.SetSheetRange(1, 1);

oPrint.PrintRange = PrintRangeEnum.kPrintSheetRange;

oPrint.SubmitPrint();

 

I get a message saying I have to uncheck "Rely on system fonts only; do not use document fonts." in the Adobe PDF settings. Is there a way to do this programmatically?

 

When I export to PDF using:

 

TranslatorAddIn PDFAddin = (TranslatorAddIn)instance.ApplicationAddIns.get_ItemById("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}");

TranslationContext oContext = instance.TransientObjects.CreateTranslationContext();

oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism;

NameValueMap oOptions = instance.TransientObjects.CreateNameValueMap();

DataMedium oData = instance.TransientObjects.CreateDataMedium();

oOptions.set_Value("Sheet_Range", PrintRangeEnum.kPrintCurrentSheet);

oData.FileName = @"C:\Users\bsmith\Desktop\test.pdf";

PDFAddin.SaveCopyAs(oDoc, oContext, oOptions, oData);

 

This works but I cannot set the PDF page size. Again, is there a way to do this programmatically?

 

I am using Inventor 2010, Adobe Acrobat 9 Pro, Windows 7, 64 bit.

 

 

Any help/suggestions would be greatly appreciated. Thank you.

 

2 REPLIES 2
Message 2 of 3
bennywise578
in reply to: bennywise578

UPDATE:

 

I am able to remove the "Rely on system fonts only; do not use document fonts" error by simply configuring my printer so that this box is always unchecked.

 

Now when I SubmitPrint() I do not receive an error but the Save As... dialog box comes up which I would like to avoid.

 

When I try PrintToFile("filename") I get the following error:

 

"Acrobat could not open '[name of file]' because it is either not a supported file type or because the file has been damaged (for example, it was sent as an email attachment and wasn't correctly decoded).

 

To create an Adobe PDF document, go to the source application. Then print the document to Adobe PDF."

 

Again, any help would be greatly appreciated. Thanks.

Message 3 of 3
jdkriek
in reply to: bennywise578

PrintToFile() and SubmitPrint() work fine with CutePDF Writer, it's free as well.

 

Public Sub TrinityCutePDF()
    Set oApp = ThisApplication
    If oApp.ActiveDocument.DocumentType = kDrawingDocumentObject Then
        Dim oDrgDoc As DrawingDocument
        Set oDrgDoc = ThisApplication.ActiveDocument
        Dim oDrgPrintMgr As DrawingPrintManager
        Set oDrgPrintMgr = oDrgDoc.PrintManager
        
        'Printer name
        oDrgPrintMgr.Printer = "CutePDF Writer"
        
        'Paper size, scale and orientation
        oDrgPrintMgr.AllColorsAsBlack = True
        oDrgPrintMgr.ColorMode = kPrintGrayScale
        oDrgPrintMgr.ScaleMode = kPrintBestFitScale
        oDrgPrintMgr.PaperSize = kPaperSize11x17
        oDrgPrintMgr.PrintRange = kPrintAllSheets
        oDrgPrintMgr.Orientation = kLandscapeOrientation
  
        oApp.StatusBarText = "Creating PDF"
        oDrgPrintMgr.SubmitPrint
    End If
End Sub

 

 

Jonathan D. Kriek
MFG Solutions Engineer
KETIV Technologies, Inc.


Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report