Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# linux上的syncfusion pdf压缩更改图像颜色_C#_Pdf_.net Core_Compression_Syncfusion - Fatal编程技术网

C# linux上的syncfusion pdf压缩更改图像颜色

C# linux上的syncfusion pdf压缩更改图像颜色,c#,pdf,.net-core,compression,syncfusion,C#,Pdf,.net Core,Compression,Syncfusion,我有这个代码(.net core 3.0控制台应用程序) 如果我在windows上运行此代码,它会正常工作;如果我在linux(centos 7)上运行,它会更改图像颜色(这是PDF页面的一部分) 我能做些什么来解决这个问题呢?乍一看像是一个bug。联系Syncfusion并提交问题。您是否尝试不删除元数据,因为此操作可能也会删除图像颜色配置文件。 PdfLoadedDocument ldoc = new PdfLoadedDocument("a.pdf", true);

我有这个代码(.net core 3.0控制台应用程序)

如果我在windows上运行此代码,它会正常工作;如果我在linux(centos 7)上运行,它会更改图像颜色(这是PDF页面的一部分)


我能做些什么来解决这个问题呢?

乍一看像是一个bug。联系Syncfusion并提交问题。您是否尝试不删除元数据,因为此操作可能也会删除图像颜色配置文件。
        PdfLoadedDocument ldoc = new PdfLoadedDocument("a.pdf", true);
        ldoc.CompressionOptions = new PdfCompressionOptions();
        ldoc.CompressionOptions.CompressImages = true;
        ldoc.CompressionOptions.ImageQuality = 70;
        ldoc.CompressionOptions.OptimizeFont = true;
        ldoc.CompressionOptions.RemoveMetadata = true;
        ldoc.CompressionOptions.OptimizePageContents = true;
        ldoc.FileStructure.IncrementalUpdate = false;
        ldoc.Compression = PdfCompressionLevel.Best;
        if (ldoc.Form != null)
        {
            for (int i = ldoc.Form.Fields.Count - 1; i >= 0; i--)
            {
                ldoc.Form.Fields.RemoveAt(i);
            }
        }
        foreach (PdfPageBase page in ldoc.Pages)
        {
            int count = page.Annotations.Count;
            for (int i = count - 1; i >= 0; i--)
            {
                page.Annotations.RemoveAt(i);
            }
        }
        ldoc.Save("b.pdf");
        ldoc.Close(true);