C# 4.0 最初从Tiff图像转换而来的PDF文档将丢失';使用Pdftron压缩后的s质量

C# 4.0 最初从Tiff图像转换而来的PDF文档将丢失';使用Pdftron压缩后的s质量,c#-4.0,pdftron,C# 4.0,Pdftron,我正在尝试从字节数组生成pdf,然后尝试压缩它。初始文档是tiff图像。然后,tiff被转换成pdf,然后我试图压缩那个pdf。我正在用Pdftron压缩它。对于某些tiff图像,压缩效果良好,而对于其他图像,转换后的pdf看起来褪色、混乱且无法读取。我的代码如下所示: internal sealed class PdfToOptimizedPdfCommand : IConversionCommand { private readonly IConvertDocumentCriteri

我正在尝试从字节数组生成pdf,然后尝试压缩它。初始文档是tiff图像。然后,tiff被转换成pdf,然后我试图压缩那个pdf。我正在用Pdftron压缩它。对于某些tiff图像,压缩效果良好,而对于其他图像,转换后的pdf看起来褪色、混乱且无法读取。我的代码如下所示:

internal sealed class PdfToOptimizedPdfCommand : IConversionCommand
{
    private readonly IConvertDocumentCriteria _criteria;

    private const double MaxDpi = 144;
    private const double ResamplingDpi = 96;
    private const int ImageQuality = 1;
    private const bool ForceCompression = true;

    public PdfToOptimizedPdfCommand(IConvertDocumentCriteria criteria)
    {
        _criteria = criteria;
    }

    public byte[] Convert()
    {
        var doc = new PDFDoc(_criteria.Document, _criteria.Document.Length);

        var settings = new Optimizer.OptimizerSettings();

        var imageSettings = new Optimizer.ImageSettings();
        imageSettings.SetImageDPI(MaxDpi, ResamplingDpi);
        imageSettings.SetQuality(ImageQuality);
        imageSettings.ForceRecompression(ForceCompression);

        settings.SetColorImageSettings(imageSettings);

        Optimizer.Optimize(doc, settings);

        return doc.Save(SDFDoc.SaveOptions.e_remove_unused | SDFDoc.SaveOptions.e_linearized | SDFDoc.SaveOptions.e_omit_xref);
    }
要优化转换后的pdf,请执行以下操作:

private void OptimizePdf(string path)
    {


        var documentBytes = File.ReadAllBytes(path);

        var request = new ConvertDocumentRequest();
        var response = new ConvertDocumentResponse();

        request.Document = documentBytes;
        request.ConversionType = PdfConversionType.PdfToOptimizedPdf;
        using (var proxy = _dynamicProxyFactory.Create<Services.PdfModification.Interfaces.IPdfModificationService>())
        {
            response = proxy.Invoke(x => x.ConvertDocument(request));

        }
        File.WriteAllBytes(path, response.Document);         
    }
我试图更改MaxDpi、ImageQuality等的值,但没有任何帮助。 所以在这个问题上我需要一些帮助。

由于您无法发布有问题的文件,而且5.8.0.0于2012年发布,因此我将修改其中一个示例项目以重现该问题。最有可能是修复了,在这种情况下,您将需要更新PDFNet版本。

由于您无法发布有问题的文件,并且5.8.0.0于2012年发布,因此我将修改其中一个示例项目以重现该问题。很可能它已修复,在这种情况下,您需要更新PDFNet版本。

您使用的是什么版本的PDFNet?您可以调用PDFNet.GetVersion()来查找。此外,如果问题是特定于文件的,是否可以发布一个问题TIFF文件?版本号为5.8.0.0。由于安全原因,我不能在这里发布pdf。为了描述它,它看起来像是带阴影边框的证书或汽车名称。您使用的是什么版本的PDFNet?您可以调用PDFNet.GetVersion()来查找。此外,如果问题是特定于文件的,是否可以发布一个问题TIFF文件?版本号为5.8.0.0。由于安全原因,我不能在这里发布pdf。为了描述它,它看起来像一个带阴影边框的证书或汽车标题。我下载了最新版本,但仍然得到相同的结果。我发布了我转换后的pdf的外观,请您找出问题所在。如果问题是特定于文件的,那么您需要将其发送给pdftron支持部门。发送TIFF、源PDF和生成/压缩的PDF。我下载了最新版本,但仍然得到相同的结果。我发布了我转换后的pdf的外观,请您找出问题所在。如果问题是特定于文件的,那么您需要将其发送给pdftron支持部门。发送TIFF、源PDF和生成/压缩的PDF。