c# - 如何将 SVG 转换为 PDF C#?

标签 c# pdf svg model-view-controller imagemagick

我已经遇到这个问题几天了,并且尝试了很多方法。本质上,我让用户编辑 SVG,一旦他们完成,他们将其保存回服务器上的文件路径。我的问题是我的 SVG 包含目录中文件的 href。作为 SVG,它可以毫无问题地引用文件,但是当我将文件转换为 PDF 时,它没有图像,但它有其他 SVG 元素,例如线条和文本。有没有人有这个问题或知道如何解决?我正在使用 ImageMagick 进行转换,但它仍然存在该问题。请参阅下面的我的 Controller 代码:

    [HttpPost]
    public void ConvertToPDF(string[] svgs, string pdfFilePath, List<string> files)
    {
        MagickReadSettings settings = new MagickReadSettings();
        using (MagickImageCollection images = new MagickImageCollection())
        {
            foreach(var s in svgs)
            {
                var fileName = System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["ConvertFromXMLToSvgTempPath"] + s + ".svg");

                //images.Read(fileName, settings);
                //var readSettings = new MagickReadSettings() { Format = MagickFormat.Svg };

                using (var image = new MagickImage(fileName))
                {
                    image.Format = MagickFormat.Pdf;
                }
            }
            images.Write(pdfFilePath);
        }
    }

最佳答案

仅供引用 - 我最终将图像路径转换为 ​​Base64。 SVG 的其余部分已正确转换。希望这对以后的任何人都有帮助。

关于c# - 如何将 SVG 转换为 PDF C#?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50742661/

相关文章:

javascript - 如何使用 javascript 将工具提示添加到 svg 图形元素

c# - 从文本框获取新值时出现奇怪的错误

c# - MVC 中的 P3P header 信息

c# - TPL Dataflow LinkTo TransformBlock 非常慢

pdf - 将内部维基页面转换为 PDF

javascript - 如何在嵌入数据上调用鼠标函数?

c# - ASP.NET MVC。数据驱动的子域?

pdf - FOP 不显示西里尔字符

ios - 在哪里存储创建的PDF文件?

javascript - 使用 JavaScript 在 SVG 中嵌入 JPEG