Ejemplo n.º 1
0
        private void ExportFileAsJPEG(dynamic document, string fullFileName)
        {
            FitArtboardToCurrentDocument(document);
            //CenterItemsOnArtboard(document);
            dynamic jpgOptions = new ExportOptionsJPEG();

            jpgOptions.QualitySetting = 100;
            jpgOptions.AntiAliasing   = false;
            jpgOptions.Optimization   = false;
            document.Export(fullFileName, AiExportType.aiJPEG, jpgOptions);
        }
Ejemplo n.º 2
0
        private string SaveFileWithWatermark(string watermarkFile, dynamic sourceDocument, string fullFileName)
        {
            FitArtboardToCurrentDocument(sourceDocument);

            //select all and group
            sourceDocument.SelectObjectsOnActiveArtboard();
            dynamic sourceDocSelection = sourceDocument.Selection;

            if (sourceDocSelection.Length == 0)
            {
                throw new IllustratorException("Selected image is empty!");
            }
            dynamic imageGroup = sourceDocument.GroupItems.Add();

            for (var i = 0; i < sourceDocSelection.Length; i++)
            {
                sourceDocSelection[i].moveToEnd(imageGroup);
            }

            var imageHeight = imageGroup.Height;
            var imageWidth  = imageGroup.Width;

            // select all and group
            dynamic watermarkDocument = _application.Open(watermarkFile,
                                                          AiDocumentColorSpace.aiDocumentRGBColor, null);

            watermarkDocument.SelectObjectsOnActiveArtboard();
            dynamic watermarkDocSelection = watermarkDocument.Selection;

            if (watermarkDocSelection.Length == 0)
            {
                throw new IllustratorException("Selected image is empty!");
            }
            dynamic watermarkGroup = watermarkDocument.groupItems.add();

            for (var i = 0; i < watermarkDocSelection.Length; i++)
            {
                watermarkDocSelection[i].moveToEnd(watermarkGroup);
            }

            //scale watermark to fit graphic
            int scale;

            var watermarkHeight = watermarkGroup.Height;
            var watermarkWidth  = watermarkGroup.Width;

            if (imageHeight > imageWidth)
            {
                scale = int.Parse(Math.Round(imageHeight / watermarkHeight * 100).ToString()) + 5;
            }
            else
            {
                scale = int.Parse(Math.Round(imageWidth / watermarkWidth * 100).ToString()) + 5;
            }
            watermarkGroup.Resize(scale, scale);

            // copy watermark to grpahic
            watermarkDocument.Copy();
            sourceDocument.Paste();

            watermarkDocument.Close(AiSaveOptions.aiDoNotSaveChanges);
            CenterItemsOnArtboard(sourceDocument);

            dynamic jpgOptions = new ExportOptionsJPEG();

            jpgOptions.QualitySetting = 100;
            jpgOptions.AntiAliasing   = false;
            jpgOptions.Optimization   = false;
            sourceDocument.Export(fullFileName, AiExportType.aiJPEG, jpgOptions);

            return(fullFileName);
        }