Как преобразовать файл AutoCAD в PDF-файл с четким представлением? - PullRequest
0 голосов
/ 11 декабря 2018

Я работаю над проектом asp.net, который конвертирует файл autocad .dwg в ​​PDF.

Для этого я использую следующий код:

using (var image = Aspose.CAD.Image.Load(filePath))
{
    // create an instance of CadRasterizationOptions & set resultant page size

    var rasterizationOptions = new Aspose.CAD.ImageOptions.CadRasterizationOptions()
    {
        PageSize = new Aspose.CAD.SizeF(image.Size.Width, image.Size.Height),
    };

    // save resultant PDF
    image.Save("****" + "***", new Aspose.CAD.ImageOptions.PdfOptions() { VectorRasterizationOptions = rasterizationOptions });
}

PDF, который яу меня есть это:

enter image description here

другое изображение

enter image description here Я хочу, чтобы здание находилось вцентр файла PDF и достаточно большой, чтобы быть полезным для пользователя.Как я могу исправить это представление и прояснить его?

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Я предлагаю вам попробовать следующий пример кода на вашем конце, чтобы установить область печати для файла рендеринга.

        var cadImage =(CadImage) Aspose.CAD.Image.Load("filePath");

        CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();
        rasterizationOptions.Layouts = new string[] { "Model" };
        rasterizationOptions.NoScaling = true;

        // note: preserving some empty borders around part of image is the responsibility of customer
        // top left point of region to draw
        Point topLeft = new Point(6156, 7053);
        double width = 3108;
        double height = 2489;

        CadVportTableObject newView = new CadVportTableObject();
        newView.Name = new CadStringParameter();
        newView.Name.Init("*Active");
        newView.CenterPoint.X = topLeft.X + width / 2f;
        newView.CenterPoint.Y = topLeft.Y - height / 2f;
        newView.ViewHeight.Value = height;
        newView.ViewAspectRatio.Value = width / height;

        for (int i = 0; i < cadImage.ViewPorts.Count; i++)
        {
            CadVportTableObject currentView = (CadVportTableObject)(cadImage.ViewPorts[i]);
            if (cadImage.ViewPorts.Count == 1 || string.Equals(currentView.Name.Value.ToLowerInvariant(), "*active"))
            {
                cadImage.ViewPorts[i] = newView;
                break;
            }
        }


        cadImage.Save("Saved.pdf", new Aspose.CAD.ImageOptions.PdfOptions() { VectorRasterizationOptions = rasterizationOptions });
0 голосов
/ 11 декабря 2018

Я ознакомился с примером кода, которым вы поделились.Можете ли вы поделиться тем, что у вас возникли проблемы в экспортированном PDF.Можете ли вы поделиться исходным файлом DWG вместе с ожидаемым выходным PDF.Кроме того, на изображении выше водяной знак в верхнем левом углу будет удален, когда вы установите лицензию Aspose.CAD в своем приложении.

Я работаю разработчиком / евангелистом поддержки в Aspose.

Большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...