JavaScript'te PowerPoint Slaytlarını PNG'ye Dönüştür

Genel Bakış

Bu makale, Aspose.Slides for Node.js via Java kullanarak sunum slaytlarını PNG görüntülerine nasıl dönüştüreceğinizi açıklar. PPT, PPTX ve ODP gibi formatlardaki sunumları yükleyebilir, her bir slaytı renderlayabilir ve ayrı bir PNG görüntüsü olarak kaydedebilirsiniz.

Aşağıdaki örnekler, varsayılan ölçekle renderlamayı, ölçeği artırmayı, çıktı boyutlarını piksel olarak belirtmeyi ve bir degrade renderlama stilini seçmeyi gösterir.

PowerPoint’i PNG’ye Dönüştür

Bir sunumu Presentation sınıfı ile yükleyin ve slaytlarına Presentation.getSlides koleksiyonu aracılığıyla erişin. Örnek, her bir slaytı parametresiz olarak Slide.getImage kullanarak bir thumbnail oluşturur. Ardından IImage.save metodunu ImageFormat.Png ile çağırarak renderlanan her slaytı PNG görüntüsü olarak kaydeder.

var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");

let presentation = new aspose.slides.Presentation("presentation.pptx");
try {
    let slideCount = presentation.getSlides().size();
    for (let index = 0; index < slideCount; index++) {
        let slide = presentation.getSlides().get_Item(index);
        let image = slide.getImage();
        try {
            image.save("slide_" + index + ".png", aspose.slides.ImageFormat.Png);
        } finally {
            image.dispose();
        }
    }
} finally {
    presentation.dispose();
}

PowerPoint’i Özelleştirilmiş Boyutlarda PNG’ye Dönüştür

Renderlanan boyutları kontrol etmek için Slide.getImage yöntemine yatay ve düşey ölçek faktörlerini geçirin. Bu örnekte, her iki faktör de 2’dir, bu nedenle 720 × 540 puan ölçüsündeki bir slayt 1440 × 1080 piksel görüntü üretir. Eşit ölçek faktörleri slaytın en‑boy oranını korur. Her görüntü, IImage.save kullanılarak PNG formatında kaydedilir.

var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");

let presentation = new aspose.slides.Presentation("presentation.pptx");
try {
    let scaleX = 2.0;
    let scaleY = scaleX;

    let slideCount = presentation.getSlides().size();
    for (let index = 0; index < slideCount; index++) {
        let slide = presentation.getSlides().get_Item(index);
        let image = slide.getImage(scaleX, scaleY);
        try {
            image.save("slide_" + index + ".png", aspose.slides.ImageFormat.Png);
        } finally {
            image.dispose();
        }
    }
} finally {
    presentation.dispose();
}

PowerPoint’i Özelleştirilmiş Boyutla PNG’ye Dönüştür

Çıktı boyutlarını piksel olarak belirtmek için ölçek faktörleri yerine bir boyut değerini Slide.getImage yöntemine geçirin. Bu örnek, her slaytı 960 × 720 piksel olarak renderlar ve sonucu IImage.save ile kaydeder. Görüntünün gerilmesini önlemek için slaytın en‑boy oranına uygun boyutları seçin.

var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
const java = require("java");

let presentation = new aspose.slides.Presentation("presentation.pptx");
try {
    let imageSize = java.newInstanceSync("java.awt.Dimension", 960, 720);

    let slideCount = presentation.getSlides().size();
    for (let index = 0; index < slideCount; index++) {
        let slide = presentation.getSlides().get_Item(index);
        let image = slide.getImage(imageSize);
        try {
            image.save("slide_" + index + ".png", aspose.slides.ImageFormat.Png);
        } finally {
            image.dispose();
        }
    }
} finally {
    presentation.dispose();
}

Bir Degrade Renderlama Stili Seçin

Bir slayt degrade dolgu içerdiğini varsayalım, ancak dışa aktarılan PNG’deki geçişler PowerPoint’te gördüklerinizden daha açık ya da farklı görünsün. Degradelerin nasıl renderlanacağını seçmek için RenderingOptions sınıfı tarafından miras alınan SaveOptions.setGradientStyle metodunu kullanabilirsiniz.

gradient-styles.pptx dosyasını indirin ve uygulamanın çalışma dizinine yerleştirin. İlk slaytı, üstte camgöbeği‑turuncu ve altta mavi‑sarı olmak üzere iki lineer degrade içerir. Her degrade, %0 ve %100 konumunda iki durak noktasına sahiptir.

Aşağıdaki örnek bu sunumu yükler ve aynı ilk slaytı her iki modda da Slide.getImage kullanarak renderlar.

var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");

let presentation = new aspose.slides.Presentation("gradient-styles.pptx");
try {
    let slide = presentation.getSlides().get_Item(0);

    let gradientStyles = [aspose.slides.GradientStyle.Default, aspose.slides.GradientStyle.PowerPointUI];
    for (let style of gradientStyles) {
        let options = new aspose.slides.RenderingOptions();
        options.setGradientStyle(style);

        let styleName = style == aspose.slides.GradientStyle.Default ? "Default" : "PowerPointUI";
        let image = slide.getImage(options, 1.0, 1.0);
        try {
            image.save("gradient-" + styleName + ".png", aspose.slides.ImageFormat.Png);
        } finally {
            image.dispose();
        }
    }
} finally {
    presentation.dispose();
}
Default PowerPointUI
Default ile renderlanan camgöbeği‑turuncu ve mavi‑sarı degradeler PowerPointUI ile renderlanan aynı degradeler

Bu örnekte, Default daha açık ara renkler üretirken, PowerPointUI daha koyu ara renkler üretir. Fark, degradede kullanılan renkler ve durak noktasına bağlıdır.

Default i, standart Aspose.Slides çıktısı ihtiyaçlarınızı karşılıyorsa seçin. PowerPointUI i, önceliğiniz PowerPoint’teki görünümü eşleştirmekse deneyin. Her iki çıktıyı da hedefinizle karşılaştırın; hiçbir mod evrensel olarak daha üstün değildir.

SSS

Tüm slayt yerine bir grafik veya resim gibi belirli bir şekli nasıl dışa aktarabilirim?

Aspose.Slides, individual shapes için thumbnail oluşturmayı destekler ve böylece bir şekli PNG görüntüsü olarak renderlayabilirsiniz.

Sunucuda paralel dönüştürme destekleniyor mu?

Evet. Her bir iş parçacığı veya süreç için ayrı bir sunum örneği kullanın; iş parçacıkları arasında tek bir örnek paylaşmayın.

PNG’ye dışa aktarırken değerlendirme sınırlamaları nelerdir?

Değerlendirme modu, çıktı görüntülerine bir filigran ekler ve lisans uygulanana kadar diğer kısıtlamaları uygular.