<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic PrintToFile creates invalid pdf using &amp;quot;Adobe PDF&amp;quot; driver in Inventor Programming - iLogic, Macros, AddIns &amp; Apprentice</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/printtofile-creates-invalid-pdf-using-quot-adobe-pdf-quot-driver/m-p/6891917#M70387</link>
    <description>&lt;P&gt;The following code works fine for "Microsoft Print to PDF" driver, but doesn't work for "Adobe PDF" driver. The "Adobe PDF" driver creates pdf documents, but they can't be opened.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Inventor;
using System.IO;

namespace ConsoleApp1
{
    public class Program
    {
        public static void Main(string[] args)
        {
            var inputDrawing = args[0];
            var outputDir = args[1];

            var inventorAppType = Type.GetTypeFromProgID("Inventor.Application");
            var inventor = (Application)System.Activator.CreateInstance(inventorAppType);
            if (inventor == null)
            {
                throw new ArgumentNullException(nameof(inventor));
            }

            var drawingDocument = (DrawingDocument)inventor.Documents.Open(inputDrawing);
            if (!Directory.Exists(outputDir))
            {
                Directory.CreateDirectory(outputDir);
            }

            for (var i = 1; i&amp;lt;= drawingDocument.Sheets.Count; i++)
            {
                var sheet = drawingDocument.Sheets[i];
                var printManager = (DrawingPrintManager)drawingDocument.PrintManager;

                printManager.PaperSize = PaperSizeEnum.kPaperSizeA3;
                printManager.ScaleMode = PrintScaleModeEnum.kPrintBestFitScale;
                printManager.Orientation = PrintOrientationEnum.kLandscapeOrientation;
                printManager.Printer = "Adobe PDF";
                //printManager.Printer = "Microsoft Print to PDF";
                printManager.PrintRange = PrintRangeEnum.kPrintSheetRange;
                printManager.SetSheetRange(i, i);

                var outputFilename = $"{System.IO.Path.GetFileNameWithoutExtension(inputDrawing)}_{i}.pdf";
                var outputPath = System.IO.Path.Combine(outputDir, outputFilename);
                printManager.PrintToFile(outputPath);

            }

            drawingDocument.Close(true);
            inventor.Quit();
        }
    }
}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 21 Feb 2017 05:01:36 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2017-02-21T05:01:36Z</dc:date>
    <item>
      <title>PrintToFile creates invalid pdf using "Adobe PDF" driver</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/printtofile-creates-invalid-pdf-using-quot-adobe-pdf-quot-driver/m-p/6891917#M70387</link>
      <description>&lt;P&gt;The following code works fine for "Microsoft Print to PDF" driver, but doesn't work for "Adobe PDF" driver. The "Adobe PDF" driver creates pdf documents, but they can't be opened.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Inventor;
using System.IO;

namespace ConsoleApp1
{
    public class Program
    {
        public static void Main(string[] args)
        {
            var inputDrawing = args[0];
            var outputDir = args[1];

            var inventorAppType = Type.GetTypeFromProgID("Inventor.Application");
            var inventor = (Application)System.Activator.CreateInstance(inventorAppType);
            if (inventor == null)
            {
                throw new ArgumentNullException(nameof(inventor));
            }

            var drawingDocument = (DrawingDocument)inventor.Documents.Open(inputDrawing);
            if (!Directory.Exists(outputDir))
            {
                Directory.CreateDirectory(outputDir);
            }

            for (var i = 1; i&amp;lt;= drawingDocument.Sheets.Count; i++)
            {
                var sheet = drawingDocument.Sheets[i];
                var printManager = (DrawingPrintManager)drawingDocument.PrintManager;

                printManager.PaperSize = PaperSizeEnum.kPaperSizeA3;
                printManager.ScaleMode = PrintScaleModeEnum.kPrintBestFitScale;
                printManager.Orientation = PrintOrientationEnum.kLandscapeOrientation;
                printManager.Printer = "Adobe PDF";
                //printManager.Printer = "Microsoft Print to PDF";
                printManager.PrintRange = PrintRangeEnum.kPrintSheetRange;
                printManager.SetSheetRange(i, i);

                var outputFilename = $"{System.IO.Path.GetFileNameWithoutExtension(inputDrawing)}_{i}.pdf";
                var outputPath = System.IO.Path.Combine(outputDir, outputFilename);
                printManager.PrintToFile(outputPath);

            }

            drawingDocument.Close(true);
            inventor.Quit();
        }
    }
}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 21 Feb 2017 05:01:36 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/printtofile-creates-invalid-pdf-using-quot-adobe-pdf-quot-driver/m-p/6891917#M70387</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-02-21T05:01:36Z</dc:date>
    </item>
  </channel>
</rss>

