PHP'de Sunum Mürekkep Nesnelerini Yönetme
Giriş
PowerPoint, serbest çizgiler çizmenizi sağlayan bir mürekkep özelliği sunar. Mürekkep, diğer nesneleri vurgulamak, bağlantı 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 türleri sağlar. Örneğin, Ink sınıfı bir slayttaki mürekkep nesnesini temsil eder.
Düzenli Nesneler ve Mürekkep Nesneleri Arasındaki Farklar
PowerPoint bir slayttaki nesneler genellikle Shape nesneleriyle temsil edilir. En basit biçimde bir şekil, nesnenin kendisinin (çerçevesinin) alanını tanımlayan ve konteyner boyutu, şekil ve arka plan gibi özellikleri içeren 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 nesnesiyle karşılaştığında, nesne çerçevesinin (kapsayıcının) tüm özelliklerini boyutu haricinde görmezden gelir. Kapsayıcı alanının boyutu, standart Shape.getWidth ve Shape.getHeight metodlarıyla belirlenir:

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

Çizim İçin Fırça Özellikleri
Bir fırça, bir mürekkep izinin noktalarını birleştiren çizgileri çizmek için kullanılır. Fırçanın kendi rengi ve boyutu vardır; bunlar InkBrush.getColor ve InkBrush.getSize metodlarıyla temsil edilir.
Mürekkep Fırçası Rengini Ayarlama
Bu PHP kodu, bir mürekkep fırçasının renginin nasıl ayarlanacağını gösterir:
$presentation = new Presentation("pres.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
$ink = $slide->getShapes()->get_Item(0);
$brush = $ink->getTraces()[0]->getBrush();
$brush->setColor(java("java.awt.Color")->RED);
} finally {
$presentation->dispose();
}
Mürekkep Fırçası Boyutunu Ayarlama
Bu PHP kodu, bir mürekkep fırçasının boyutunun nasıl ayarlanacağını gösterir:
$presentation = new Presentation("pres.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
$ink = $slide->getShapes()->get_Item(0);
$brush = $ink->getTraces()[0]->getBrush();
$brushSize = new Java("java.awt.Dimension", 5, 10);
$brush->setSize($brushSize);
} finally {
$presentation->dispose();
}
Genel olarak, 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 renktedir). Fırça genişliği ve yüksekliği eşleştiğinde, PowerPoint boyutu şu şekilde gösterir:

Açıklık kazanması için, mürekkep nesnesinin yüksekliğini artırıp önemli boyutları gözden geçirelim:

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örsele bakın).
Bu nedenle, tüm mürekkep nesnesinin görünen alanını belirlemek için izlerinin fırça boyutu hesaba katılmalı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ı şey geçerlidir.

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

Dışa Aktarım ve İşleme Sırasında Mürekkep Görünümünü Kontrol Etme
Aspose.Slides, mürekkep nesnelerinin dışa aktarılan veya işlenen çıktıda nasıl görüneceğini kontrol etmek için InkOptions sınıfını sunar. Özelliklerini kullanarak mürekkebi tamamen gizleyebilir veya mürekkep fırça maske işlemlerinin nasıl yorumlandığını değiştirebilirsiniz.
Mürekkep seçenekleri, çeşitli çıktı türleri için dışa aktarma 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 resmi | RenderingOptions.getInkOptions |
Aşağıdaki InkOptions metodları aynı iki ayarı sunar:
- InkOptions.getHideInk mürekkep nesnelerinin çıktıya dahil edilip edilmediğini belirler. Varsayılan değeri
falsetır. - InkOptions.getInterpretMaskOpAsOpacity bir maske işleminin, bir mürekkep fırçası işlenirken opaklık olarak yorumlanıp yorumlanmayacağını belirler. Varsayılan değeri
truedır; bunun yerine ROP işlemini kullanmak içinfalseile InkOptions.setInterpretMaskOpAsOpacity çağırın.
PDF Çıktısında Mürekkep Nesnelerini Gizleme
Varsayılan olarak, mürekkep nesneleri dışa aktarım sırasında görünür kalır. El yazısı açıklamalar veya diğer mürekkep içerikleri olmadan temiz bir çıktı oluşturmak için InkOptions.setHideInk metodunu true değeriyle çağırın.
Aşağıdaki PHP örneği, tüm mürekkep nesnelerini gizleyerek bir sunumu PDF olarak dışa aktarır:
$presentation = new Presentation("presentation.pptx");
try {
$pdfOptions = new PdfOptions();
$pdfOptions->getInkOptions()->setHideInk(true);
$presentation->save("presentation_without_ink.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
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 PHP örneği, ilk slaytı mürekkep nesneleri olmadan bir PNG görüntüsü olarak işler:
$presentation = new Presentation("presentation.pptx");
try {
$renderingOptions = new RenderingOptions();
$renderingOptions->getInkOptions()->setHideInk(true);
$slide = $presentation->getSlides()->get_Item(0);
$image = $slide->getImage($renderingOptions);
try {
$image->save("slide_without_ink.png", ImageFormat::Png);
} finally {
$image->dispose();
}
} finally {
$presentation->dispose();
}
Mürekkep Maske İşlemesini Kontrol Etme
InkOptions.getInterpretMaskOpAsOpacity ayarı, mürekkep fırçaları işlenirken maske işlemlerinin nasıl yorumlanacağını kontrol eder. Varsayılan değer true olup opaklık kullanır. Bunun yerine ROP işlemini kullanmak için false ile InkOptions.setInterpretMaskOpAsOpacity çağırın.
Aşağıdaki PHP örneği, bir slaytı SVG olarak dışa aktarır ve mürekkep maske işlemleri için ROP tabanlı işleme kullanır:
$presentation = new Presentation("presentation.pptx");
try {
$svgOptions = new SVGOptions();
$svgOptions->getInkOptions()->setInterpretMaskOpAsOpacity(false);
$outputStream = new Java("java.io.FileOutputStream", "slide.svg");
try {
$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 da uygulanabilir.
Mürekkebi Gizleme veya Korumayı Seçme
İncelemeler 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.
Mürekkep açıklamaları, el notları, vurgulamalar veya çizimler gibi hedef içeriğin bir parçası olduğunda, InkOptions.getHideInk varsayılan false değerinde bırakın. Bu, uygulamaların aynı sunumdan kaynak mürekkep nesnelerini değiştirmeden ayrı inceleme ve final çıktıları üretmesine olanak tanır.
SSS
Mevcut bir mürekkep çizgisinin rengini veya boyutunu değiştirebilir miyim?
Evet. Ink.getTraces ile izleri alın, ardından InkTrace.getBrush metodunu değiştirin. Rengi değiştirmek için InkBrush.setColor, boyutu değiştirmek için ise InkBrush.setSize metodunu kullanın.
Mürekkebi gizlemek kaynak sunumu değiştirir mi?
Hayır. InkOptions.setHideInk yalnızca işlenen veya dışa aktarılan sonucu etkiler; 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 aktarma 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.
Daha fazla 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 bölümünü inceleyin.
- PDF dışa aktarımı hakkında ayrıntılar için Convert PPT and PPTX to PDF sayfasını okuyun.
- HTML dışa aktarımı hakkında ayrıntılar için Convert PowerPoint Presentations to HTML sayfasına göz atın.
- SVG dışa aktarımı hakkında ayrıntılar için Render Presentation Slides as SVG Images bölümünü inceleyin.
- TIFF dışa aktarımı hakkında ayrıntılar için Convert PowerPoint Presentations to TIFF bölümüne bakın.
- Slaytı görsele dönüştürme hakkında ayrıntılar için Convert Presentation Slides to Images sayfasını ziyaret edin.