Aspose pdf for Java 23.12文档压缩失效

aspose pdf for Java 23.12文件在mac和Linux下压缩失效,在Windows下可以正常压缩,请问如何才能在mac和Linux下正常压缩?
压缩代码如下:String source = “/Desktop/temp/压缩器前.pdf”;
String target = “/Desktop/temp/压缩器后2.222pdf”;
Document doc = new Document(source);

    Document.OptimizationOptions opt = new Document.OptimizationOptions();
 
    opt.setRemoveUnusedObjects(true);
   
    opt.setLinkDuplcateStreams(false);

    opt.setRemoveUnusedStreams(false);

    opt.setUnembedFonts(true);

    opt.setCompressImages(true);

    opt.setImageQuality(10);
    doc.optimizeResources(opt);
   
    doc.optimize();
    doc.save(target);

压缩文档:
压缩前.pdf (8.2 MB)

使用Windows压缩效果:微信图片_20240222133933.png (12.1 KB)

@SalesDhorde

您能分享一下您遇到的错误类型吗?另外,请确保您的系统中安装了所有 Windows 字体,例如msttcorefonts 软件包。请与我们分享Linux版本,以便我们进一步进行相应的操作。

我Windows能正常压缩,是mac跟Linux不能正常压缩,没有错误提示,只是压缩失效。请问跟Windows字体有什么关系呢?您需要Linux版本什么信息

@SalesDhorde

问题中的字体对 PDF 文档的大小起着重要作用。 API 在不同的环境中为缺失的字体找到合适的替代品。尽管如此,对于此错误可能造成的麻烦,我们深表歉意。我们将相应地调查此案,并尝试对发生这种情况的原因做出一些解释。

我们已在内部问题跟踪系统中打开以下新票证,并将根据 Free Support Policies 中提到的条款提供修复。

问题 ID:PDFJAVA-43623

如果您需要优先支持,以及直接联系我们的付费支持管理团队,您可以获取 Paid Support Services

LSB Version: :core-4.1-aarch64:core-4.1-noarch
Distributor ID: AlibabaCloud
Description: Alibaba Cloud Linux release 3 (Soaring Falcon)
Release: 3
Codename: SoaringFalcon

装的字体:/usr/share/fonts/Songti.ttc: Songti SC,宋體-簡,宋体-简:style=Light,細體,细体
/usr/share/fonts/dejavu/DejaVuSansCondensed-Oblique.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Oblique,Oblique
/usr/share/fonts/dejavu/DejaVuSansCondensed-Bold.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold,Bold
/usr/share/fonts/Songti.ttc: STSong:style=Regular,標準體,Ordinær,Normal,Normaali,Regolare,レギュラー,일반체,Regulier,Обычный,常规体
/usr/share/fonts/Songti.ttc: Songti TC,宋體-繁,宋体-繁:style=Light,細體,细体
/usr/share/fonts/simsun.ttc: SimSun,宋体:style=Regular,常规
/usr/share/X11/fonts/Type1/c0611bt_.pfb: Courier 10 Pitch:style=Bold Italic
/usr/share/X11/fonts/Type1/UTBI____.pfa: Utopia:style=Bold Italic
/usr/share/fonts/simkai.ttf: KaiTi,楷体:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
/usr/share/X11/fonts/Type1/c0419bt_.pfb: Courier 10 Pitch:style=Regular
/usr/share/fonts/dejavu/DejaVuSans.ttf: DejaVu Sans:style=Book
/usr/share/X11/fonts/Type1/c0648bt_.pfb: Bitstream Charter:style=Regular
/usr/share/fonts/Songti.ttc: Songti TC,宋體-繁,宋体-繁:style=Regular,標準體,常规体
/usr/share/fonts/Songti.ttc: Songti SC,宋體-簡,宋体-简:style=Regular,標準體,常规体
/usr/share/fonts/dejavu/DejaVuSans-Bold.ttf: DejaVu Sans:style=Bold
/usr/share/X11/fonts/Type1/cursor.pfa: Cursor:style=Regular
/usr/share/X11/fonts/Type1/UTB_____.pfa: Utopia:style=Bold
/usr/share/X11/fonts/Type1/c0583bt_.pfb: Courier 10 Pitch:style=Bold
/usr/share/fonts/Songti.ttc: Songti SC,宋體-簡,宋体-简:style=Black,黑體,黑体
/usr/share/fonts/Songti.ttc: Songti SC,宋體-簡,宋体-简:style=Bold,粗體,粗体
/usr/share/X11/fonts/Type1/UTI_____.pfa: Utopia:style=Italic
/usr/share/fonts/Songti.ttc: Songti TC,宋體-繁,宋体-繁:style=Bold,粗體,粗体
/usr/share/X11/fonts/Type1/c0582bt_.pfb: Courier 10 Pitch:style=Italic
/usr/share/fonts/simfang.ttf: FangSong,仿宋:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
/usr/share/fonts/dejavu/DejaVuSansCondensed.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed,Book
/usr/share/fonts/dejavu/DejaVuSans-ExtraLight.ttf: DejaVu Sans,DejaVu Sans Light:style=ExtraLight
/usr/share/fonts/arialbd.ttf: Arial:style=Bold,Negreta,tučné,fed,Fett,Έντονα,Negrita,Lihavoitu,Gras,Félkövér,Grassetto,Vet,Halvfet,Pogrubiony,Negrito,Полужирный,Fet,Kalın,Krepko,đậm,Lodia
/usr/share/fonts/dejavu/DejaVuSansCondensed-BoldOblique.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold Oblique,Bold Oblique
/usr/share/X11/fonts/Type1/c0633bt_.pfb: Bitstream Charter:style=Bold Italic
/usr/share/X11/fonts/Type1/c0649bt_.pfb: Bitstream Charter:style=Italic
/usr/share/fonts/dejavu/DejaVuSans-Oblique.ttf: DejaVu Sans:style=Oblique
/usr/share/X11/fonts/Type1/c0632bt_.pfb: Bitstream Charter:style=Bold
/usr/share/fonts/simsun.ttc: NSimSun,新宋体:style=Regular,常规
/usr/share/fonts/dejavu/DejaVuSans-BoldOblique.ttf: DejaVu Sans:style=Bold Oblique
/usr/share/X11/fonts/Type1/UTRG____.pfa: Utopia:style=Regular

:
yum install -y https://rpmfind.net/linux/sourceforge/m/ms/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

:
安装了msttcorefonts 软件包 还是不行

@SalesDhorde

感谢您提供这些详细信息。我们已经更新了票务信息,一旦取得进展,我们将通知您。

我装了 微软雅黑的 字体 linux 压缩可以了 就是效率比较低
9b62b8c697d9def3980ca9faf589613.png (93.2 KB)

@SalesDhorde

该信息已随票一起记录,一旦调查完毕,我们会通知您。

再次测试发现在Linux下,中文字体有部分缺失
Linux压缩.zip (8.0 MB)

还有一个问题就是:压缩里面取消嵌入字体 ,就会依赖 客户端的字体。 mac 没有 所有显示不出来可以修改 pdf 的字体吗?我想能转成 系统基本都会有的字体

@SalesDhorde

您可以使用以下代码片段按字体名称启用字体替换。不过,我们已相应更新了票证信息,并在解决问题取得进展后立即通知您。

FontRepository.getSubstitutions().add(new SimpleFontSubstitution("GillSans-Bold", "Arial"));

请问这个要怎么设置到Document 中

@SalesDhorde

一切都记录在您在此处提供的票证下。票证解决后,我们会立即通知您。请给我们一些时间。

请问一下,这个要怎么设置?

@SalesDhorde

您可以使用上面的示例代码片段添加您需要的任意数量的替换。对于所有缺失或特殊的字体,您可以在初始化 Document 对象之前添加此行并对其执行进一步的操作。它没有添加到文档级别。相反,您可以在初始化 Document 对象之前使用此代码,API 将在处理过程中开始实现此类字体的替换。

请问,像这种 pdf 文档合并后, 会产生嵌入多个重复的字体 ,导致合并后的文档比较大, 要如何处理?
微信图片_20240305182331.png (83.6 KB)

@SalesDhorde

在这种情况下,您可以优化 PDF 文档,如下面的示例所示。

按照您的方法测试,发现 压缩 30M 的文件(就是之前上传的“压缩前”文档) 要200 多秒,有办法优化吗?

@SalesDhorde

您在第一篇文章中分享的文档大小为 8M。此外,请确保您使用的是24.2版本,并尝试测量后续执行时的API性能,因为API第一次会加载内存中的所有资源。

因此,可以在发布模式或后续执行中测量正确的性能。如果您仍然发现与时间相关的问题,请通过将其上传到某些公共文件托管服务来与我们共享 30M 大小的文件。我们将在我们的环境中测试该场景并为其记录一个单独的票证。

@SalesDhorde

您可以使用以下解决方法来获取优化的 PDF 文件:

Document doc = new Document(dataDir + "压缩前.pdf");
for (Font font : doc.getFontUtilities().getAllFonts()) {
    if (font.isEmbedded()) {
        font.setEmbedded(false);
    }
}
Document.OptimizationOptions opt = new Document.OptimizationOptions();
opt.setRemoveUnusedObjects(true);
opt.setLinkDuplcateStreams(false);
opt.setRemoveUnusedStreams(false);
opt.setUnembedFonts(true);
opt.setCompressImages(true);
opt.setImageQuality(10);
doc.optimizeResources(opt);
doc.optimize();
doc.save(dataDir + "output_workaround.pdf");

output_workaround.pdf (213.1 KB)