Update Links in PDF
Potongan kode berikut ini juga berfungsi dengan perpustakaan Aspose.PDF.Drawing.
Perbarui Tautan dalam File PDF
Seperti yang dibahas dalam Menambahkan Hyperlink dalam File PDF, kelas LinkAnnotation memungkinkan penambahan tautan dalam file PDF. Ada juga kelas serupa yang digunakan untuk mendapatkan tautan yang ada dari dalam file PDF. Gunakan ini jika Anda perlu memperbarui tautan yang sudah ada. Untuk memperbarui tautan yang ada:
- Muat file PDF.
- Pergi ke halaman tertentu dalam file PDF.
- Tentukan tujuan tautan menggunakan properti Destination dari objek GoToAction.
- Halaman tujuan ditentukan menggunakan konstruktor XYZExplicitDestination.
Atur Target Tautan ke Halaman di Dokumen yang Sama
Potongan kode berikut menunjukkan cara memperbarui tautan dalam file PDF dan menetapkan targetnya ke halaman kedua dari dokumen. Potongan kode berikut ini menunjukkan cara memperbarui tautan dalam file PDF dan mengatur targetnya ke halaman kedua dokumen.
// Untuk contoh lengkap dan file data, silakan kunjungi https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Jalur ke direktori dokumen.
string dataDir = RunExamples.GetDataDir_AsposePdf_LinksActions();
// Memuat file PDF
Document doc = new Document(dataDir + "UpdateLinks.pdf");
// Dapatkan anotasi tautan pertama dari halaman pertama dokumen
LinkAnnotation linkAnnot = (LinkAnnotation)doc.Pages[1].Annotations[1];
// Modifikasi tautan: mengubah tujuan tautan
GoToAction goToAction = (GoToAction)linkAnnot.Action;
// Tentukan tujuan untuk objek tautan
// Parameter pertama adalah objek dokumen, kedua adalah nomor halaman tujuan.
// Argumen kelima adalah faktor zoom saat menampilkan halaman yang bersangkutan. Saat menggunakan 2, halaman akan ditampilkan dalam zoom 200%
goToAction.Destination = new Aspose.Pdf.Annotations.XYZExplicitDestination(1, 1, 2, 2);
dataDir = dataDir + "PDFLINK_Modified_UpdateLinks_out.pdf";
// Simpan dokumen dengan tautan yang diperbarui
doc.Save(dataDir);
Tetapkan Tujuan Tautan ke Alamat Web
Untuk memperbarui hyperlink agar mengarah ke alamat web, instansiasi objek GoToURIAction dan berikan ke properti Action dari LinkAnnotation. Cuplikan kode berikut menunjukkan cara memperbarui tautan dalam file PDF dan mengatur targetnya ke alamat web.
// Untuk contoh lengkap dan file data, silakan kunjungi https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Jalur ke direktori dokumen.
string dataDir = RunExamples.GetDataDir_AsposePdf_LinksActions();
// Muat file PDF
Document doc = new Document(dataDir + "UpdateLinks.pdf");
// Dapatkan anotasi tautan pertama dari halaman pertama dokumen
LinkAnnotation linkAnnot = (LinkAnnotation)doc.Pages[1].Annotations[1];
// Modifikasi tautan: ubah aksi tautan dan tetapkan target sebagai alamat web
linkAnnot.Action = new GoToURIAction("www.aspose.com");
dataDir = dataDir + "SetDestinationLink_out.pdf";
// Simpan dokumen dengan tautan yang diperbarui
doc.Save(dataDir);
Mengatur Target Tautan ke File PDF Lain
Berikut ini adalah potongan kode yang menunjukkan bagaimana memperbarui tautan dalam file PDF dan mengatur targetnya ke file PDF lain.
// Untuk contoh lengkap dan file data, silakan kunjungi https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Jalur ke direktori dokumen.
string dataDir = RunExamples.GetDataDir_AsposePdf_LinksActions();
// Muat file PDF
Document document = new Document(dataDir + "UpdateLinks.pdf");
LinkAnnotation linkAnnot = (LinkAnnotation)document.Pages[1].Annotations[1];
GoToRemoteAction goToR = (GoToRemoteAction)linkAnnot.Action;
// Baris berikut memperbarui destinasi, tidak memperbarui file
goToR.Destination = new XYZExplicitDestination(2, 0, 0, 1.5);
// Baris berikut memperbarui file
goToR.File = new FileSpecification(dataDir + "input.pdf");
dataDir = dataDir + "SetTargetLink_out.pdf";
// Simpan dokumen dengan tautan yang diperbarui
document.Save(dataDir);
Memperbarui Warna Teks LinkAnnotation
Anotasi tautan tidak mengandung teks. Anotasi tautan tidak mengandung teks.
// Untuk contoh lengkap dan file data, silakan kunjungi https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Jalur ke direktori dokumen.
string dataDir = RunExamples.GetDataDir_AsposePdf_LinksActions();
// Muat file PDF
Document doc = new Document(dataDir + "UpdateLinks.pdf");
foreach (Annotation annotation in doc.Pages[1].Annotations)
{
if (annotation is LinkAnnotation)
{
// Mencari teks di bawah anotasi
TextFragmentAbsorber ta = new TextFragmentAbsorber();
Rectangle rect = annotation.Rect;
rect.LLX -= 10;
rect.LLY -= 10;
rect.URX += 10;
rect.URY += 10;
ta.TextSearchOptions = new TextSearchOptions(rect);
ta.Visit(doc.Pages[1]);
// Mengubah warna teks.
foreach (TextFragment tf in ta.TextFragments)
{
tf.TextState.ForegroundColor = Color.Red;
}
}
}
dataDir = dataDir + "UpdateLinkTextColor_out.pdf";
// Simpan dokumen dengan tautan yang diperbarui
doc.Save(dataDir);