PSD格式由Adobe Photoshop使用,以保存与图形设计有关的数据。PSD文件可以由集体形成图形的单个或多个图层组成。但是,将PSD图像直接查看或嵌入到Web或桌面应用程序中是不可行的。
为了解决此问题,可以将PSD文档转换为PDF或光栅图像格式。因此,本文提供了一些使用Java将PSD文件转换为PDF,PNG,JPEG,GIF和其他图像格式的简单方法。
- 使用Java将PSD文件转换为PDF
- 使用Java将PSD文件转换为光栅图像
- 将PSD中的图层导出到Java中的栅格图像
Aspose.PSD for Java是功能强大的PSD文件操作API,可让您从Java应用程序中处理,编辑和转换PSD文档。API的转换器引擎使您可以将PSD文件转换为高保真度的其他格式。如果你还没有用过Aspose.PSD可以下载最新版测试。
使用Java将PSD文件转换为PDF
PDF是最受欢迎的数字文档格式之一,无论硬件或软件如何,PDF均可确保文档布局的稳定性。因此,在大多数情况下都可以采用PSD到PDF的转换。以下是将PSD文件转换为PDF的步骤。
- 使用Image类加载PSD文件。
- 创建一个PdfOptions类的实例。
- 使用Image.save(String,PdfOptions)方法将PSD转换为PDF 。
以下代码示例显示了如何在Java中将PSD文件转换为PDF。
// Load imageImage img = Image.load("sample.psd");// Create PDF optionsPdfOptions options = new PdfOptions();// Convert PSD to PDFimg.save("psd-to-pdf.pdf", options );
使用Java将PSD文件转换为JPEG,PNG,BMP,GIF和JP2
如果不适合将PSD转换为PDF,则可以选择其他选项。PSD转换为光栅图像。以下是将PSD文件转换为特定栅格图像格式的步骤。
- 使用Image类加载PSD文件。
- 使用以下相应的图像选项类(根据所需的输出格式):
- PngOptions
- JpegOptions
- BmpOptions
- GifOptions
- Jpeg2000Options
- 使用Image.save(String,ImageOptions)保存转换后的图像。
下面的代码示例演示如何使用Java将PSD文件转换为PNG,JPEG,BMP,GIF和JPEG 2000图像。
// Load an existing PSD image as ImageImage image = Image.load("sample.psd"); // Create an instance of PngOptions class PngOptions pngOptions = new PngOptions(); // Create an instance of BmpOptions class BmpOptions bmpOptions = new BmpOptions(); // Create an instance of GifOptions class GifOptions gifOptions = new GifOptions(); // Create an instance of JpegOptions class JpegOptions jpegOptions = new JpegOptions(); // Create an instance of Jpeg2000Options class Jpeg2000Options jpeg2000Options = new Jpeg2000Options(); // Call the save method, provide output path and export options to convert PSD file to various raster file formats. image.save("psd-to-png.webp", pngOptions); image.save("psd-to-bmp.bmp", bmpOptions); image.save("psd-to-gif.webp", gifOptions); image.save("psd-to-jpg.webp", jpegOptions); image.save("psd-to-jp2.jp2", jpeg2000Options);
将PSD中的每一层导出到单独的图像
还可以将PSD文件中的特定图层转换为栅格图像。下面的代码示例演示如何将PSD文件中的每一层转换为单独的PNG图像。
// Load a PSD file as an image and caste it into PsdImagePsdImage psdImage = (PsdImage) Image.load("sample.psd");// Create an instance of PngOptions classPngOptions pngOptions = new PngOptions();pngOptions.setColorType(PngColorType.TruecolorWithAlpha);// Loop through the list of layersfor (int i = 0; i < psdImage.getLayers().length; i++) { // Convert and save the layer to PNG file format. psdImage.getLayers()[i].save(String.format("layer_out{0}.webp", i + 1), pngOptions); }