当 api 作为服务运行时,位图为空

问题描述

当我的 API 作为服务运行时运行以下方法时,它会生成位图,其中包含我使用的 XPS 文件内容。但是,当我的 API 作为具有管理员的服务运行时运行相同的方法时,它会生成空位图。

public static void ConvertXpsToImg(string xpsFile,string printerName)
        {
            using (var xpsConverter = new Xps2Image(xpsFile))
            {
                var images = xpsConverter.ToBitmap(new Parameters
                {
                    ImageType = ImageType.Png,Dpi = 203
                });

                foreach (Bitmap bitmap in images)
                {
                    using (var pd = new PrintDocument())
                    {
                        pd.PrintPage += (_,e) =>
                        {
                            e.Graphics.DrawImage(bitmap,new System.Drawing.Point(0,0));
                        };
                        pd.PrinterSettings.PrinterName = printerName;
                        pd.DefaultPageSettings = new PageSettings(pd.PrinterSettings)
                        {
                            Margins = new Margins(0,0)
                        };
                        pd.Print();
                    }
                }
            }
        }

我用来从 XPS 制作位图的库叫做 Xps2Image 但这个库不是 .net 核心。但是因为它作为控制台运行得很好,所以我认为这不是问题。

有没有办法像我在这里做的那样将 XPS 转换为位图,但对于 .net 核心?或者没有作为服务加载的位图可能与其他事情有关吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)