PowerPoint tintaobjektumok kezelése Java-ban
Bevezetés
PowerPoint egy tinta funkciót biztosít, amely lehetővé teszi szabadkézi vonalak rajzolását. A tintát használhatja más objektumok kiemelésére, kapcsolatok és folyamatok megjelenítésére, valamint egyes diák elemeinek figyelemfelkeltésére.
Aspose.Slides biztosítja a tintával kapcsolatos típusokat. Például az IInk interfész egy tintát ábrázoló objektumot képvisel egy dián.
Különbségek a szokásos objektumok és a tintaobjektumok között
Objektumok egy PowerPoint dián általában alakzat objektumokként jelennek meg. A legegyszerűbb formában egy alakzat egy tároló, amely meghatározza az objektum tényleges területét (a keretét) valamint olyan tulajdonságokat, mint a tároló mérete, alakja és háttérje. További információért lásd a Shape Layout Format oldalt.
Azonban amikor a PowerPoint tintát kezel, figyelmen kívül hagyja az objektum keretének (tárolójának) minden tulajdonságát, kivéve a méretét. A tároló terület mérete a szabványos IShape.getWidth és IShape.getHeight metódusok alapján határozható meg:

Tintasávok
Egy tintasáv egy alapvető elem, amely a toll pályáját rögzíti a felhasználó digitális tinta írásakor. Egy sáv egy összekapcsolt pontok sorozatát tárolja.
A legegyszerűbb kódolási forma meghatározza az egyes mintapont X és Y koordinátáit. Amikor az összekapcsolt pontok megjelennek, egy ilyen képet kapunk:

Ecsettulajdonságok a rajzoláshoz
Egy ecsetet használnak a tintasáv pontjait összekötő vonalak rajzolásához. Az ecset saját színnel és mérettel rendelkezik, amelyeket a IInkBrush.getColor és IInkBrush.getSize metódusok reprezentálnak.
Az Ink Ecset Színének Beállítása
Ez a Java kód bemutatja, hogyan állítható be egy tintaecset színe:
import com.aspose.slides.*;
import java.awt.Color;
Presentation presentation = new Presentation("pres.pptx");
try {
ISlide slide = presentation.getSlides().get_Item(0);
IInk ink = (IInk) slide.getShapes().get_Item(0);
IInkBrush brush = ink.getTraces()[0].getBrush();
brush.setColor(Color.RED);
} finally {
presentation.dispose();
}
Az Ink Ecset Méretének Beállítása
Ez a Java kód bemutatja, hogyan állítható be egy tintaecset mérete:
import com.aspose.slides.*;
import java.awt.Dimension;
Presentation presentation = new Presentation("pres.pptx");
try {
ISlide slide = presentation.getSlides().get_Item(0);
IInk ink = (IInk) slide.getShapes().get_Item(0);
IInkBrush brush = ink.getTraces()[0].getBrush();
Dimension brushSize = new Dimension(5, 10);
brush.setSize(brushSize);
} finally {
presentation.dispose();
}
Általában az ecset szélessége és magassága nem egyezik, ezért a PowerPoint nem jeleníti meg az ecset méretét (a megfelelő adatmező szürkén van). Ha az ecset szélessége és magassága megegyezik, a PowerPoint így jeleníti meg a méretet:

A tisztább áttekintés érdekében növeljük meg a tinta objektum magasságát, és nézzük meg a fontos dimenziókat:

A tároló (keret) nem veszi figyelembe az ecsetek méretét – mindig úgy feltételezi, hogy a vonal vastagsága nulla (lásd a előző képet).
Ezért a teljes tintaobjektum látható területének meghatározásához figyelembe kell venni a sávok ecsetméretét. Itt a célobjektum (a kézírásos szövegsáv) a tároló (keret) méretéhez van skálázva. Ha a tároló mérete változik, az ecset mérete állandó marad, és fordítva.

A PowerPoint hasonló viselkedést alkalmaz a szövegobjektumokra is:

A tinta megjelenésének szabályozása exportálás és renderelés során
Aspose.Slides biztosítja a IInkOptions interfészt a tintaobjektumok exportált vagy renderelt kimenetben való megjelenésének szabályozásához. A tulajdonságai segítségével teljesen elrejtheti a tintát vagy módosíthatja, hogyan értelmeződnek a tintaecset maszk műveletek.
Tinta beállítások elérhetők a különféle kimeneti típusok export vagy render opcióin keresztül:
| Kimenet | Tintabeállítás tulajdonság |
|---|---|
PdfOptions.getInkOptions |
|
| HTML | HtmlOptions.getInkOptions |
| SVG | SVGOptions.getInkOptions |
| TIFF | TiffOptions.getInkOptions |
| Slide image | RenderingOptions.getInkOptions |
A következő IInkOptions metódusok ugyanazt a két beállítást teszik elérhetővé:
- IInkOptions.getHideInk meghatározza, hogy a tintaobjektumok bele legyenek-e véve a kimenetbe. Alapértelmezett értéke
false. - IInkOptions.getInterpretMaskOpAsOpacity meghatározza, hogy a maszk művelet átlátszatlanságként legyen-e értelmezve egy tintaecset renderelésekor. Alapértelmezett értéke
true; hívja a IInkOptions.setInterpretMaskOpAsOpacity metódustfalseértékkel, hogy a ROP műveletet használja.
Tintaobjektumok elrejtése PDF kimenetben
Alapértelmezés szerint a tintaobjektumok láthatóak maradnak exportáláskor. Egy tiszta kimenethez kézírásos megjegyzések vagy egyéb tinta tartalom nélkül, hívja a IInkOptions.setHideInk metódust true értékkel.
A következő Java példa egy bemutatót PDF-be exportál, miközben elrejti az összes tintaobjektumot:
import com.aspose.slides.*;
Presentation presentation = new Presentation("presentation.pptx");
try {
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.getInkOptions().setHideInk(true);
presentation.save("presentation_without_ink.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Tintaobjektumok elrejtése dia képkénti rendereléskor
A tintaobjektumok elrejtéséhez, amikor a diákat bitmap képként rendereli, állítsa be a RenderingOptions.getInkOptions opciót, és adja át a renderelési beállításokat a ISlide.getImage.
A következő Java példa az első diát PNG képként rendereli tintával kapcsolatos objektumok nélkül:
import com.aspose.slides.*;
Presentation presentation = new Presentation("presentation.pptx");
try {
RenderingOptions renderingOptions = new RenderingOptions();
renderingOptions.getInkOptions().setHideInk(true);
ISlide slide = presentation.getSlides().get_Item(0);
IImage image = slide.getImage(renderingOptions);
try {
image.save("slide_without_ink.png", ImageFormat.Png);
} finally {
image.dispose();
}
} finally {
presentation.dispose();
}
Tintamaszk renderelés szabályozása
A IInkOptions.getInterpretMaskOpAsOpacity beállítás szabályozza, hogyan értelmeződnek a maszk műveletek tintabecsek renderelésekor. Alapértelmezett értéke true, ami átlátszatlanságot használ. A ROP művelet használatához hívja a IInkOptions.setInterpretMaskOpAsOpacity metódust false értékkel.
A következő Java példa egy diát SVG-be exportál, és ROP-alapú renderelést használ a tintamaszk műveletekhez:
import com.aspose.slides.*;
import java.io.FileOutputStream;
import java.io.IOException;
Presentation presentation = new Presentation("presentation.pptx");
try {
SVGOptions svgOptions = new SVGOptions();
svgOptions.getInkOptions().setInterpretMaskOpAsOpacity(false);
FileOutputStream stream = new FileOutputStream("slide.svg");
ISlide slide = presentation.getSlides().get_Item(0);
slide.writeAsSvg(stream, svgOptions);
} finally {
presentation.dispose();
}
Ugyanez a beállítás alkalmazható a TiffOptions.getInkOptions segítségével, amikor a bemutatót TIFF-be exportálja vagy a diát TIFF-ként rendereli.
Válassza ki, hogy elrejtse vagy megőrizze a tintát
Ha egy megjegyzésekkel ellátott bemutató tiszta verziójára van szüksége terjesztéshez, anélkül, hogy a felülvizsgálati jelek láthatóak lennének, hívja a IInkOptions.setHideInk metódust true értékkel exportáláskor.
Hagyja a IInkOptions.getHideInk alapértelmezett false értékén, ha a tinta megjegyzések a kívánt tartalom részei, például felülvizsgálati megjegyzések, kézírásos jegyzetek, kiemelések vagy rajzok, amelyeknek láthatónak kell maradniuk az exportált eredményben. Ez lehetővé teszi az alkalmazások számára, hogy külön felülvizsgálati és végleges kimenetet generáljanak ugyanabból a bemutatóból anélkül, hogy módosítanák a forrás tintákat.
GYIK
Megváltoztathatom egy meglévő tinta vonal színét vagy méretét?
Igen. Szerezze be a sávot az IInk.getTraces metódussal, majd módosítsa annak IInkTrace.getBrush értékét. Hívja az IInkBrush.setColor vagy az IInkBrush.setSize metódust az ecset megváltoztatásához.
A tinta elrejtése módosítja a forrás bemutatót?
Nem. A IInkOptions.setHideInk meghívása csak a renderelt vagy exportált eredményt befolyásolja; nem távolítja el vagy módosítja a tintaobjektumokat a forrás bemutatóban.
Mely exportformátumok támogatják a tintabeállításokat?
A fent bemutatott export vagy render opciókon keresztül beállíthatók a tintabeállítások PDF, HTML, SVG, TIFF és bitmap diakép formátumokhoz.
További olvasmányok
- Az alakzatokról általánosságban a PowerPoint Shapes szakaszban olvashat.
- A hatékony értékekről további információkért lásd a Shape Effective Properties szekciót.
- A PDF export részleteiért lásd a Convert PPT and PPTX to PDF oldalt.
- A HTML export részleteiért lásd a Convert PowerPoint Presentations to HTML oldalt.
- Az SVG export részleteiért lásd a Render Presentation Slides as SVG Images oldalt.
- A TIFF export részleteiért lásd a Convert PowerPoint Presentations to TIFF oldalt.
- A diák képpé konvertálásának részleteiért lásd a Convert Presentation Slides to Images oldalt.