使大的 DOCX 文件更小而不损失质量。删除不必要和未使用的数据。在代码中缩小 DOCX 文件的大小。 Java 库为开发人员提供了一个集成的 API 来优化 DOCX 内容。
Java 库是一个独立的解决方案,不需要安装任何第三方软件。
使用 'Aspose.Words for Java' 可以轻松实现无损压缩和深度内容优化。以下示例演示了如何优化 Java 中的 Java DOCX 文件的内容:
// Repository path: https://releases.aspose.com/java/repo/
// Maven, where 'ver' - Aspose.Words version number, for example, 24.4.
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>ver</version>
<classifier>jdk17</classifier>
</dependency>
复制
// Repository path: https://releases.aspose.com/java/repo/
// Gradle, where 'ver' - Aspose.Words version number, for example, 24.4.
compile(group: 'com.aspose', name: 'aspose-words', version: 'ver', classifier: 'jdk17')
复制
// Repository path: https://releases.aspose.com/java/repo/
// Ivy, where 'ver' - Aspose.Words version number, for example, 24.4.
<dependency org="com.aspose" name="aspose-words" rev="ver">
<artifact name="aspose-words" m:classifier="jdk17" ext="jar"/>
</dependency>
复制
// Repository path: https://releases.aspose.com/java/repo/
// Sbt, where 'ver' - Aspose.Words version number, for example, 24.4.
libraryDependencies += "com.aspose" % "aspose-words" % "ver"
复制
import com.aspose.words.*;
Document doc = new Document("Input.docx");
doc.cleanup();
NodeCollection nodes = doc.getChildNodes(NodeType.SHAPE, true);
for (Shape shape : (Iterable<Shape>) nodes)
{
if (shape.isImage())
{
// 由开发人员选择用于图像压缩的库。
BufferedImage image = ImageIO.read(shape.getImageData().toStream());
// ...
// 压缩图像并将其设置回形状。
shape.getImageData().setImage("yourCompressedImage");
}
}
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions();
saveOptions.setCompressionLevel(CompressionLevel.MAXIMUM);
doc.save("Output.docx", saveOptions);
import com.aspose.words.*;
Document doc = new Document("Input.docx");
doc.cleanup();
NodeCollection nodes = doc.getChildNodes(NodeType.SHAPE, true);
for (Shape shape : (Iterable<Shape>) nodes)
{
if (shape.isImage())
{
// 由开发人员选择用于图像压缩的库。
BufferedImage image = ImageIO.read(shape.getImageData().toStream());
// ...
// 压缩图像并将其设置回形状。
shape.getImageData().setImage("yourCompressedImage");
}
}
OoxmlSaveOptions saveOptions = new PdfSaveOptions();
saveOptions.setCacheBackgroundGraphics(true);
doc.save("Output.docx", saveOptions);
import com.aspose.words.*;
Document doc = new Document("Input.docx");
doc.cleanup();
NodeCollection nodes = doc.getChildNodes(NodeType.SHAPE, true);
for (Shape shape : (Iterable<Shape>) nodes)
{
if (shape.isImage)
{
// 由开发人员选择用于图像压缩的库。
BufferedImage image = ImageIO.read(shape.getImageData().toStream());
// ...
// 压缩图像并将其设置回形状。
shape.getImageData().setImage("yourCompressedImage");
}
}
doc.save("Output.docx");
import com.aspose.words.*;
Document doc = new Document("Input.docx");
doc.cleanup();
NodeCollection nodes = doc.getChildNodes(NodeType.SHAPE, true);
for (Shape shape : (Iterable<Shape>) nodes)
{
if (shape.isImage())
{
// 由开发人员选择用于图像压缩的库。
BufferedImage image = ImageIO.read(shape.getImageData().toStream());
// ...
// 压缩图像并将其设置回形状。
shape.getImageData().setImage("yourCompressedImage");
}
}
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions();
saveOptions.setCompressionLevel(CompressionLevel.MAXIMUM);
doc.save("Output.docx", saveOptions);
import com.aspose.words.*;
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertImage("Input.docx");
ImageSaveOptions saveOptions = new ImageSaveOptions(SaveFormat.DOCX);
shape.getShapeRenderer().save("Output.docx", saveOptions);
我们在Maven存储库中托管我们的 Java 'Aspose.Words for Java' 是一个常见的包含字节码的 JAR 请按照有关如何将其安装到 Java 开发人员环境的分步说明进行操作。
Java SE 7 和更新的 Java 版本。 Java SE 6 提供了一个单独的包,以防您不得不使用这个过时的 JRE 。
我们的 Java 包是跨平台的,可以在所有具有 JVM 实现的 Microsoft Windows 、Linux、macOS、Android 和 iOS。
有关可选包依赖项的信息,例如 JogAmp JOGL 、 Harfbuzz 字体引擎、 Java Advanced Imaging JAI ,请参阅产品文档。