Menambahkan Watermark ke Presentasi di Android

Pendahuluan

Sebuah watermark dalam presentasi adalah stempel teks atau gambar yang digunakan pada satu slide atau di seluruh slide presentasi. Biasanya, watermark digunakan untuk menunjukkan bahwa presentasi tersebut masih draf (mis., watermark “Draft”), bahwa berisi informasi rahasia (mis., watermark “Confidential”), untuk menentukan perusahaan mana yang memiliki (mis., watermark “Company Name”), untuk mengidentifikasi penulis presentasi, dll. Watermark membantu mencegah pelanggaran hak cipta dengan menunjukkan bahwa presentasi tidak boleh disalin. Watermark digunakan dalam format presentasi PowerPoint dan OpenOffice. Di Aspose.Slides, Anda dapat menambahkan watermark ke format file PowerPoint PPT, PPTX, dan OpenOffice ODP.

Di Aspose.Slides, ada berbagai cara untuk membuat watermark dalam dokumen PowerPoint atau OpenOffice dan memodifikasi desain serta perilakunya. Aspek umum adalah untuk menambahkan watermark teks, Anda harus menggunakan antarmuka ITextFrame, dan untuk menambahkan watermark gambar, gunakan kelas PictureFrame atau isi bentuk watermark dengan gambar. PictureFrame mengimplementasikan antarmuka IShape, memungkinkan Anda menggunakan semua pengaturan fleksibel dari objek shape. Karena ITextFrame bukan sebuah shape dan pengaturannya terbatas, ia dibungkus ke dalam objek IShape .

Ada dua cara penerapan watermark: pada satu slide saja atau pada semua slide presentasi. Slide Master digunakan untuk menerapkan watermark ke semua slide — watermark ditambahkan ke Slide Master, dirancang sepenuhnya di sana, dan diterapkan ke semua slide tanpa memengaruhi izin untuk mengubah watermark pada slide individu.

Watermark biasanya dianggap tidak dapat diedit oleh pengguna lain. Untuk mencegah watermark (atau lebih tepatnya shape induk watermark) diedit, Aspose.Slides menyediakan fungsi penguncian shape. Sebuah shape tertentu dapat dikunci pada slide biasa atau pada Slide Master. Ketika shape watermark dikunci pada Slide Master, ia akan terkunci pada semua slide presentasi.

Anda dapat menetapkan nama untuk watermark sehingga di masa depan, jika ingin menghapusnya, Anda dapat menemukannya di shape slide berdasarkan nama.

Anda dapat merancang watermark dengan cara apa pun; namun biasanya ada fitur umum pada watermark, seperti perataan tengah, rotasi, posisi depan, dll. Kami akan membahas cara menggunakan ini dalam contoh di bawah.

Watermark Teks

Tambahkan Watermark Teks ke Slide

Untuk menambahkan watermark teks dalam PPT, PPTX, atau ODP, Anda dapat terlebih dahulu menambahkan shape ke slide, lalu menambahkan text frame ke shape tersebut. Text frame direpresentasikan oleh antarmuka ITextFrame. Tipe ini tidak mewarisi dari IShape, yang memiliki banyak properti untuk memposisikan watermark secara fleksibel. Oleh karena itu, objek ITextFrame dibungkus dalam objek IAutoShape. Untuk menambahkan teks watermark ke shape, gunakan metode addTextFrame seperti ditunjukkan di bawah.

String watermarkText = "CONFIDENTIAL";

Presentation presentation = new Presentation();
ISlide slide = presentation.getSlides().get_Item(0);

IAutoShape watermarkShape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 100, 100, 400, 40);
ITextFrame watermarkFrame = watermarkShape.addTextFrame(watermarkText);

presentation.dispose();

Tambahkan Watermark Teks ke Presentasi

Jika Anda ingin menambahkan watermark teks ke seluruh presentasi (yaitu semua slide sekaligus), tambahkan ke MasterSlide. Sisa logika sama seperti saat menambahkan watermark ke satu slide — buat objek IAutoShape , lalu tambahkan watermark ke dalamnya menggunakan metode addTextFrame .

String watermarkText = "CONFIDENTIAL";

Presentation presentation = new Presentation();
IMasterSlide masterSlide = presentation.getMasters().get_Item(0);

IAutoShape watermarkShape = masterSlide.getShapes().addAutoShape(ShapeType.Rectangle, 100, 100, 400, 40);
ITextFrame watermarkFrame = watermarkShape.addTextFrame(watermarkText);

presentation.dispose();

Set Transparansi Shape Watermark

Secara default, shape persegi panjang memiliki warna isi dan garis. Baris kode berikut membuat shape menjadi transparan.

watermarkShape.getFillFormat().setFillType(FillType.NoFill);
watermarkShape.getLineFormat().getFillFormat().setFillType(FillType.NoFill);

Set Font untuk Watermark Teks

Anda dapat mengubah font watermark teks seperti di bawah ini.

IPortionFormat textFormat = watermarkFrame.getParagraphs().get_Item(0).getParagraphFormat().getDefaultPortionFormat();
textFormat.setLatinFont(new FontData("Arial"));
textFormat.setFontHeight(50);

Set Warna Teks Watermark

Untuk mengatur warna teks watermark, gunakan kode berikut:

int alpha = 150, red = 200, green = 200, blue = 200;

IFillFormat fillFormat = watermarkFrame.getParagraphs().get_Item(0).getParagraphFormat().getDefaultPortionFormat().getFillFormat();
fillFormat.setFillType(FillType.Solid);
fillFormat.getSolidFillColor().setColor(Color.argb(alpha, red, green, blue));

Pusatkan Watermark Teks

Dimungkinkan untuk memusatkan watermark pada slide, dan untuk itu, Anda dapat melakukan hal berikut:

SizeF slideSize = presentation.getSlideSize().getSize();

float watermarkWidth = 400;
float watermarkHeight = 40;
float watermarkX = ((float)slideSize.getWidth() - watermarkWidth) / 2;
float watermarkY = ((float)slideSize.getHeight() - watermarkHeight) / 2;

IAutoShape watermarkShape = slide.getShapes().addAutoShape(
        ShapeType.Rectangle, watermarkX, watermarkY, watermarkWidth, watermarkHeight);

ITextFrame watermarkFrame = watermarkShape.addTextFrame(watermarkText);

Watermark teks

Watermark Gambar

Tambahkan Watermark Gambar ke Presentasi

Untuk menambahkan watermark gambar ke slide presentasi, Anda dapat melakukan hal berikut:

InputStream imageStream = new FileInputStream("watermark.png");
IPPImage image = presentation.getImages().addImage(imageStream);

watermarkShape.getFillFormat().setFillType(FillType.Picture);
watermarkShape.getFillFormat().getPictureFillFormat().getPicture().setImage(image);
watermarkShape.getFillFormat().getPictureFillFormat().setPictureFillMode(PictureFillMode.Stretch);

Kunci Watermark dari Penyuntingan

Jika perlu mencegah watermark agar tidak dapat diedit, gunakan metode IAutoShape.getAutoShapeLock pada shape. Dengan properti ini, Anda dapat melindungi shape dari pemilihan, pengubahan ukuran, pemindahan posisi, pengelompokan dengan elemen lain, mengunci teksnya dari penyuntingan, dan banyak lagi:

// Kunci shape watermark agar tidak dapat dimodifikasi
watermarkShape.getAutoShapeLock().setSelectLocked(true);
watermarkShape.getAutoShapeLock().setSizeLocked(true);
watermarkShape.getAutoShapeLock().setTextLocked(true);
watermarkShape.getAutoShapeLock().setPositionLocked(true);
watermarkShape.getAutoShapeLock().setGroupingLocked(true);

Bawa Watermark ke Depan

Di Aspose.Slides, urutan Z (Z-order) shape dapat diatur melalui metode IShapeCollection.reorder. Untuk melakukannya, Anda harus memanggil metode ini dari daftar slide presentasi dan melewatkan referensi shape serta nomor urutnya ke metode tersebut. Dengan cara ini, memungkinkan untuk membawa shape ke depan atau mengirimnya ke belakang slide. Fitur ini sangat berguna jika Anda perlu menempatkan watermark di depan presentasi:

int shapeCount = slide.getShapes().size();
slide.getShapes().reorder(shapeCount - 1, watermarkShape);

Set Rotasi Watermark

Berikut contoh kode cara menyesuaikan rotasi watermark sehingga ditempatkan secara diagonal melintasi slide:

double diagonalAngle = Math.atan((slideSize.getHeight() / slideSize.getWidth())) * 180 / Math.PI;

watermarkShape.setRotation((float)diagonalAngle);

Set Nama untuk Watermark

Aspose.Slides memungkinkan Anda menetapkan nama untuk sebuah shape. Dengan menggunakan nama shape, Anda dapat mengaksesnya di masa mendatang untuk memodifikasi atau menghapusnya. Untuk menetapkan nama shape watermark, beri nilai pada metode IAutoShape.setName :

watermarkShape.setName("watermark");

Hapus Watermark

Untuk menghapus shape watermark, gunakan metode IAutoShape.getName untuk menemukannya di shape slide. Kemudian, beri shape watermark ke metode IShapeCollection.remove :

IShape[] slideShapes = slide.getShapes().toArray();
for (IShape shape : slideShapes) {
    if ("watermark".equals(shape.getName()))
    {
        slide.getShapes().remove(watermarkShape);
    }
}

FAQ

Apa itu watermark dan mengapa saya harus menggunakannya?

Watermark adalah lapisan teks atau gambar yang diterapkan pada slide yang membantu melindungi hak kekayaan intelektual, meningkatkan pengenalan merek, atau mencegah penggunaan tidak sah atas presentasi.

Apakah saya dapat menambahkan watermark ke semua slide dalam sebuah presentasi?

Ya, Aspose.Slides memungkinkan Anda menambahkan watermark secara programatis ke setiap slide dalam sebuah presentasi. Anda dapat mengiterasi semua slide dan menerapkan pengaturan watermark satu per satu.

Bagaimana saya dapat mengatur transparansi watermark?

Anda dapat mengatur transparansi watermark dengan memodifikasi pengaturan isi (getFillFormat) pada shape. Ini memastikan watermark tetap halus dan tidak mengganggu konten slide.

Format gambar apa yang didukung untuk watermark?

Aspose.Slides mendukung berbagai format gambar seperti PNG, JPEG, GIF, BMP, SVG, dan lainnya.

Apakah saya dapat menyesuaikan font dan gaya watermark teks?

Ya, Anda dapat memilih font, ukuran, dan gaya apa pun untuk menyesuaikan desain presentasi Anda dan mempertahankan konsistensi merek.

Bagaimana cara mengubah posisi atau orientasi watermark?

Anda dapat mengubah posisi dan orientasi watermark secara programatis dengan memodifikasi koordinat, ukuran, dan properti rotasi shape.