JavaScript'te Sunum Mürekkep Nesnelerini Yönetme
Giriş
PowerPoint, serbest biçimli darbeler çizebilmenizi sağlayan bir mürekkep özelliği sunar. Mürekkep, diğer nesneleri vurgulamak, bağlantıları ve süreçleri göstermek ve bir slayttaki belirli öğelere dikkat çekmek için kullanılabilir.
Aspose.Slides, mürekkep nesneleriyle çalışmak için gereken tipleri sağlar. Örneğin, Ink sınıfı bir slayttaki mürekkep nesnesini temsil eder.
Normal Nesneler ile Mürekkep Nesneleri Arasındaki Farklar
PowerPoint slaydındaki nesneler genellikle şekil nesneleriyle temsil edilir. En basit biçimde, bir şekil nesnenin (çerçevesinin) alanını tanımlayan, konteyner boyutu, şekil ve arka plan gibi özelliklere sahip bir kapsayıcıdır. Daha fazla bilgi için Shape Layout Format bölümüne bakın.
Bununla birlikte, PowerPoint bir mürekkep nesnesini işlediğinde, nesne çerçevesinin (kapsayıcının) boyut dışındaki tüm özelliklerini yok sayar. Kapsayıcı alanının boyutu standart Shape.getWidth ve Shape.getHeight yöntemleriyle belirlenir:

Mürekkep İzleri
Mürekkep izi, bir kullanıcının dijital mürekkep ile yazarken kalemin izini kaydetmek için kullanılan temel bir öğedir. Bir iz, birbirine bağlanmış noktalar sırasını saklar.
Kodlamanın en basit biçimi, her örnek noktanın X ve Y koordinatlarını belirtir. Tüm bağlanmış noktalar çizildiğinde aşağıdaki gibi bir görüntü oluşur:

Çizim İçin Fırça Özellikleri
Bir fırça, mürekkep izinin noktalarını birleştiren çizgileri çizmek için kullanılır. Fırçanın kendi rengi ve boyutu vardır; bu, InkBrush.getColor ve InkBrush.getSize yöntemleriyle temsil edilir.
Mürekkep Fırçası Rengini Ayarlama
Bu JavaScript kodu, bir mürekkep fırçasının renginin nasıl ayarlanacağını gösterir:
const aspose = {
slides: require("aspose.slides.via.java")
};
const java = require("java");
const presentation = new aspose.slides.Presentation("pres.pptx");
try {
const slide = presentation.getSlides().get_Item(0);
const ink = slide.getShapes().get_Item(0);
const brush = ink.getTraces()[0].getBrush();
const red = java.getStaticFieldValue("java.awt.Color", "RED");
brush.setColor(red);
} finally {
presentation.dispose();
}
Mürekkep Fırçası Boyutunu Ayarlama
Bu JavaScript kodu, bir mürekkep fırçasının boyutunun nasıl ayarlanacağını gösterir:
const aspose = {
slides: require("aspose.slides.via.java")
};
const java = require("java");
const presentation = new aspose.slides.Presentation("pres.pptx");
try {
const slide = presentation.getSlides().get_Item(0);
const ink = slide.getShapes().get_Item(0);
const brush = ink.getTraces()[0].getBrush();
const brushSize = java.newInstanceSync("java.awt.Dimension", 5, 10);
brush.setSize(brushSize);
} finally {
presentation.dispose();
}
Genellikle, bir fırçanın genişliği ve yüksekliği eşleşmez, bu yüzden PowerPoint fırça boyutunu göstermez (ilgili veri bölümü gri renkte olur). Fırça genişliği ve yüksekliği eşleştiğinde, PowerPoint boyutunu şu şekilde gösterir:

Açıklık kazandırmak için, mürekkep nesnesinin yüksekliğini artırıp önemli boyutları inceleyelim:

Kapsayıcı (çerçeve), fırçaların boyutunu dikkate almaz—her zaman çizgi kalınlığının sıfır olduğunu varsayar (önceki görüntüye bakın).
Bu nedenle, tüm mürekkep nesnesinin görünür alanını belirlemek için izlerin fırça boyutu dikkate alınmalıdır. Burada, hedef nesne (el yazısı metin izi) kapsayıcının (çerçevenin) boyutuna ölçeklendirilmiştir. Kapsayıcının boyutu değiştiğinde, fırça boyutu sabit kalır ve tersine de aynı durum geçerlidir.

PowerPoint, metin nesneleri için benzer bir davranış kullanır:

Dışa Aktarma ve İşleme Sırasında Mürekkep Görünümünü Kontrol Etme
Aspose.Slides, mürekkep nesnelerinin dışa aktarılmış veya işlenmiş çıktıda nasıl görüneceğini kontrol etmek için InkOptions sınıfını sağlar. Özelliklerini, mürekkebi tamamen gizlemek veya mürekkep fırça maske işlemlerinin nasıl yorumlandığını değiştirmek için kullanabilirsiniz.
Mürekkep seçenekleri, çeşitli çıktı türleri için dışa aktarım veya işleme seçenekleri aracılığıyla kullanılabilir:
| Çıktı | Mürekkep seçenekleri özelliği |
|---|---|
PdfOptions.getInkOptions |
|
| HTML | HtmlOptions.getInkOptions |
| SVG | SVGOptions.getInkOptions |
| TIFF | TiffOptions.getInkOptions |
| Slayt görüntüsü | RenderingOptions.getInkOptions |
Şu InkOptions yöntemleri aynı iki ayarı ortaya çıkarır:
- InkOptions.getHideInk belirler, mürekkep nesnelerinin çıktıya dahil edilip edilmediğini. Varsayılan değeri
false. - InkOptions.getInterpretMaskOpAsOpacity bir maske işleminin, mürekkep fırçası işlenirken opasite olarak yorumlanıp yorumlanmayacağını belirler. Varsayılan değeri
true;falseile InkOptions.setInterpretMaskOpAsOpacity çağırarak ROP işlemini kullanabilirsiniz.
PDF Çıktısında Mürekkep Nesnelerini Gizleme
Varsayılan olarak, dışa aktarım sırasında mürekkep nesneleri görünür kalır. El yazısı notlar veya diğer mürekkep içerikleri olmadan temiz bir çıktı oluşturmak için InkOptions.setHideInk metodunu true ile çağırın.
Aşağıdaki JavaScript örneği, tüm mürekkep nesnelerini gizleyerek bir sunumu PDF olarak dışa aktarır:
const aspose = {
slides: require("aspose.slides.via.java")
};
const presentation = new aspose.slides.Presentation("presentation.pptx");
try {
const pdfOptions = new aspose.slides.PdfOptions();
pdfOptions.getInkOptions().setHideInk(true);
presentation.save("presentation_without_ink.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Bir Slaytı Görüntü Olarak İşlerken Mürekkep Nesnelerini Gizleme
Slaytları bitmap görüntüler olarak işlerken mürekkep nesnelerini gizlemek için RenderingOptions.getInkOptions yapılandırın ve işleme seçeneklerini Slide.getImage metoduna aktarın.
Aşağıdaki JavaScript örneği, ilk slaytı mürekkep nesnesi olmadan PNG görüntüsü olarak işler:
const aspose = {
slides: require("aspose.slides.via.java")
};
const presentation = new aspose.slides.Presentation("presentation.pptx");
try {
const renderingOptions = new aspose.slides.RenderingOptions();
renderingOptions.getInkOptions().setHideInk(true);
const slide = presentation.getSlides().get_Item(0);
const image = slide.getImage(renderingOptions);
try {
image.save("slide_without_ink.png", aspose.slides.ImageFormat.Png);
} finally {
image.dispose();
}
} finally {
presentation.dispose();
}
Mürekkep Maske İşlemeyi Kontrol Etme
InkOptions.getInterpretMaskOpAsOpacity ayarı, mürekkep fırçaları işlenirken maske işlemlerinin nasıl yorumlandığını kontrol eder. Varsayılan değer true olup opasiteyi kullanır. Bunun yerine ROP işlemini kullanmak için InkOptions.setInterpretMaskOpAsOpacity metodunu false ile çağırın.
Aşağıdaki JavaScript örneği, bir slaytı SVG olarak dışa aktarır ve mürekkep maske işlemleri için ROP tabanlı işleme kullanır:
const aspose = {
slides: require("aspose.slides.via.java")
};
const java = require("java");
const presentation = new aspose.slides.Presentation("presentation.pptx");
try {
const svgOptions = new aspose.slides.SVGOptions();
svgOptions.getInkOptions().setInterpretMaskOpAsOpacity(false);
const outputStream = java.newInstanceSync("java.io.FileOutputStream", "slide.svg");
try {
const slide = presentation.getSlides().get_Item(0);
slide.writeAsSvg(outputStream, svgOptions);
} finally {
outputStream.close();
}
} finally {
presentation.dispose();
}
Aynı ayar, bir sunumu dışa aktarırken veya bir slaytı TIFF olarak işlerken TiffOptions.getInkOptions aracılığıyla uygulanabilir.
Mürekkebi Gizleyip Gizlemeyeceğinizi veya Koruyacağınızı Seçin
İnceleme işaretleri olmadan dağıtım için anotasyonlu bir sunumun temiz bir sürümüne ihtiyacınız olduğunda, dışa aktarım sırasında InkOptions.setHideInk metodunu true ile çağırın.
İnk notları, el yazısı notlar, vurgulamalar veya dışa aktarılan sonuçta görünür kalması gereken çizimler gibi amaçlanan içeriğin bir parçası olduğunda, InkOptions.getHideInk değerini varsayılan false olarak bırakın. Bu, uygulamaların aynı sunumdan kaynak mürekkep nesnelerini değiştirmeden ayrı inceleme ve son çıktılar üretmesini sağlar.
SSS
Mevcut bir mürekkep darbesinin rengini veya boyutunu değiştirebilir miyim?
Evet. İzleri Ink.getTraces ile alın ve ardından onun InkTrace.getBrush öğesini değiştirin. Fırçayı değiştirmek için InkBrush.setColor veya InkBrush.setSize metodlarını çağırın.
Mürekkebi gizlemek kaynak sunumu değiştirir mi?
Hayır. InkOptions.setHideInk çağrısı yalnızca işlenmiş veya dışa aktarılmış sonuca etki eder; kaynak sunumdaki mürekkep nesnelerini kaldırmaz veya değiştirmez.
Hangi dışa aktarım formatları mürekkep seçeneklerini destekler?
Yukarıda gösterilen ilgili dışa aktarım veya işleme seçenekleri aracılığıyla PDF, HTML, SVG, TIFF ve bitmap slayt görüntüleri için mürekkep seçeneklerini yapılandırabilirsiniz.
İlave Okuma
- Şekiller hakkında genel bilgi için PowerPoint Shapes bölümüne bakın.
- Etkili değerler hakkında daha fazla bilgi için Shape Effective Properties sayfasına bakın.
- PDF dışa aktarım detayları için Convert PPT and PPTX to PDF bölümüne bakın.
- HTML dışa aktarım detayları için Convert PowerPoint Presentations to HTML bölümüne bakın.
- SVG dışa aktarım detayları için Render Presentation Slides as SVG Images bölümüne bakın.
- TIFF dışa aktarım detayları için Convert PowerPoint Presentations to TIFF bölümüne bakın.
- Slayt‑görüntü işleme detayları için Convert Presentation Slides to Images bölümüne bakın.