Soalan Lazim

Soalan Lazim

Bagaimana saya memasang Aspose.Slides FOSS?

Tambah kebergantungan Maven ke pom.xml anda. Java 21 atau versi lebih baru diperlukan.

<dependency>
  <groupId>org.aspose.slides.foss</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>1.0.0</version>
</dependency>

Sahkan pemasangan:

import org.aspose.slides.foss.Presentation;

Presentation prs = new Presentation();
try {
    System.out.println("Slides: " + prs.getSlides().size());
} finally {
    prs.dispose();
}

Tiada Microsoft Office atau runtime sistem lain diperlukan.


Mengapa saya mesti memanggil dispose() pada Presentation?

Kelas Presentation mengurus sumber pakej OPC dalaman. Tanpa memanggil dispose(), sumber tersebut tidak dibebaskan, yang boleh menyebabkan kebocoran memori atau kunci fail. Sentiasa gunakan try-finally:

Presentation prs = new Presentation("input.pptx");
try {
    // work here
    prs.save("output.pptx", SaveFormat.PPTX);
} finally {
    prs.dispose();
}

Sebagai alternatif, gunakan try-with-resources kerana Presentation melaksanakan AutoCloseable:

try (Presentation prs = new Presentation("input.pptx")) {
    prs.save("output.pptx", SaveFormat.PPTX);
}

Format fail apa yang boleh saya simpan?

Hanya PPTX disokong:

import org.aspose.slides.foss.export.SaveFormat;

prs.save("output.pptx", SaveFormat.PPTX);

Eksport ke PDF, HTML, SVG, atau format imej (PNG, JPEG) tidak tersedia dalam edisi ini.


Bolehkah saya membuka .ppt (PowerPoint 97-2003 lama) fail?

Tidak. Hanya fail .pptx (Office Open XML) yang disokong. Format binari .ppt warisan tidak diuruskan oleh pustaka ini.


Bagaimana saya dapat mengakses slaid?

Slaid adalah koleksi berasaskan sifar yang boleh diakses melalui prs.getSlides():

ISlide firstSlide = prs.getSlides().get(0);
int slideCount = prs.getSlides().size();

Bagaimana saya menambah slaid kedua?

Gunakan prs.getSlides().addEmptySlide() dengan susun atur:

try (Presentation prs = new Presentation()) {
    ILayoutSlide layout = prs.getLayoutSlides().get(0);
    prs.getSlides().addEmptySlide(layout);
    ISlide slide2 = prs.getSlides().get(1);
    prs.save("two-slides.pptx", SaveFormat.PPTX);
}

Bagaimana saya menetapkan warna latar belakang slaid?

Warna latar belakang slaid tidak disokong dalam edisi Aspose.Slides FOSS ini. Tiada kaedah getBackground() pada ISlide atau mana-mana kelas lain dalam pustaka ini. Latar belakang slaid tetap apabila persembahan dibuat daripada templatnya. Edisi masa depan mungkin menambah kawalan latar belakang.


Bagaimana saya menggunakan NullableBool?

NullableBool ialah enum tiga keadaan yang digunakan untuk sifat pemformatan. Gunakan NullableBool.TRUE (bukan true Java) untuk tebal, condong, dan sifat serupa:

import org.aspose.slides.foss.NullableBool;

fmt.setFontBold(NullableBool.TRUE);
fmt.setFontItalic(NullableBool.FALSE);

Mengapa menetapkan warna teks tidak memberi kesan?

Anda juga mesti menetapkan fillType kepada FillType.SOLID sebelum menetapkan warna:

import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.drawing.Color;

fmt.getFillFormat().setFillType(FillType.SOLID);
fmt.getFillFormat().getSolidFillColor().setColor(Color.fromArgb(255, 200, 0, 0));

Bolehkah saya menggunakan carta atau SmartArt?

Tidak. Carta, SmartArt, objek OLE, animasi, peralihan, pautan hiper, makro VBA, dan tandatangan digital tidak dilaksanakan dalam edisi ini dan menghasilkan UnsupportedOperationException.


Adakah perpustakaan selamat untuk penggunaan berbilang benang?

Setiap objek Presentation adalah bebas. Membuat dan menggunakan contoh Presentation yang berasingan dari thread berasingan adalah selamat selagi anda tidak berkongsi satu objek Presentation merentasi thread tanpa penyelarasan luaran.


Bagaimana saya menyematkan imej?

Baca bait imej dan tambahkan ke prs.getImages(), kemudian cipta PictureFrame:

import org.aspose.slides.foss.ShapeType;

byte[] imageData = java.nio.file.Files.readAllBytes(
    java.nio.file.Paths.get("logo.png")
);
IPPImage image = prs.getImages().addImage(imageData);
slide.getShapes().addPictureFrame(ShapeType.RECTANGLE, 50, 50, 200, 150, image);

Lihat Juga

 Bahasa Melayu