GroupDocs ile PDF’yi vurgulama ve HTML’ye dönüştürme
PDF içinde metni vurgulamak ve sonucu stilize bir HTML sayfasına dönüştürmek, yasal inceleme, e‑öğrenme ve dijital yayıncılık için yaygın bir gereksinimdir. Bu öğreticide GroupDocs.Redaction for .NET ile how to highlight pdf dosyalarını keşfedecek ve ardından web portallarına veya öğrenim yönetim sistemlerine gömülebilen vurgulanmış HTML çıktısı oluşturacaksınız. Kılavuz, ortam kurulumunu, yol başlatmayı, HTML sayfa oluşturmayı ve kaynak URL yönetimini adım adım gösterir—hepsi çalıştırılabilir C# kod parçacıklarıyla.
Hızlı cevaplar
- Vurgulamayı hangi kütüphane yönetir? GroupDocs.Redaction for .NET.
- Hangi .NET sürümleri destekleniyor? .NET Framework 4.6+, .NET Core 3.1+, .NET 5/6/7.
- Üretim için lisansa ihtiyacım var mı? Evet – ticari bir lisans deneme sınırlamalarını kaldırır.
- Yüzlerce sayfalı büyük PDF’leri işleyebilir miyim? Evet, API sayfaları akış olarak işler ve 500 sayfalık bir dosya için 200 MB’den az RAM kullanır.
- HTML çıktısı etkileşimli mi? Oluşturulan HTML statiktir ancak tam olarak stilizedir; etkileşim eklemek için JavaScript ekleyebilirsiniz.
PDF metin vurgulama nedir?
PDF metin vurgulama, seçilen karakterlerin arkasına renkli bir kaplama çizen görsel işaretlemedir; bu sayede belge görüntülendiğinde öne çıkar. GroupDocs.Redaction bu kaplamayı doğrudan PDF’in içerik akışına ekler, orijinal düzeni korur ve vurgulamaları dışa aktarılan HTML’de gösterir.
Neden .NET için GroupDocs.Redaction kullanmalı?
GroupDocs.Redaction 70+ giriş ve çıkış formatını destekler, 500 sayfaya kadar PDF’leri tüm dosyayı belleğe yüklemeden işler ve hem redaksiyon hem de vurgulama yapan tek geçişli API sunar. Bu ölçülen yetenekler, kurumsal ölçekli belge iş akışları için güvenilir bir seçenek olmasını sağlar.
Önkoşullar
- Geliştirme ortamı: Visual Studio 2022 (veya daha yeni) ile bir .NET Core 3.1 / .NET 6 projesi.
- NuGet paketi:
GroupDocs.Redaction(en son kararlı sürüm). - Temel bilgi: C# sözdizimi, dosya‑sistemi yolları ve HTML temelleri.
.NET için GroupDocs.Redaction nasıl kurulur?
Kütüphaneyi kurmak için üç desteklenen yöntemden birini seçin. .NET CLI komutu paketi proje dosyanıza ekler, Package Manager Console NuGet aracılığıyla entegre eder ve UI, tarama ve kurulum için grafik bir yol sunar. Üç yaklaşım da aynı GroupDocs.Redaction derlemesinin referans alınmasıyla sonuçlanır ve hemen kodlamaya başlamanızı sağlar.
.NET CLI kullanarak:
dotnet add package GroupDocs.Redaction
Package Manager Console kullanarak:
Install-Package GroupDocs.Redaction
NuGet Package Manager UI kullanarak: “GroupDocs.Redaction” için arama yapın ve Install düğmesine tıklayın.
Kurulumdan sonra, C# dosyanızın en üstüne bir using yönergesi ekleyin:
using GroupDocs.Redaction;
Feature_InitializeIndexedFileInfo sınıfı nasıl çalışır?
Feature_InitializeIndexedFileInfo, görüntüleyici önbelleği ve kaynak PDF için gereken yolları oluşturan ve saklayan bir yardımcıdır.
Sınıf, görüntüleyici ve HTML oluşturucunun dayandığı dosya sistemi konumlarını hazırlar. Geçici dosyalar için özel bir önbellek klasörü oluşturur, kaynak PDF’den bir klasör adı türetir ve orijinal belgenin mutlak yolunu saklar. Bu özellikler, sonraki işlem için yalnızca okunabilir üyeler olarak sunulur.
// ```csharp
using GroupDocs.Redaction;
// Initialize the Redactor
Redactor redactor = new Redactor("your-file-path.pdf");
HTML sayfa dosya yolu nasıl oluşturulur?
Feature_GenerateHtmlPageFilePath, sayfa numaralarına göre her HTML sayfası için belirleyici dosya adları oluşturur.
Sınıf, basit bir p{pageNumber}.html deseni kullanarak her işlenen sayfayı benzersiz şekilde tanımlayan bir dosya adı oluşturur. Ardından bu adı daha önce oluşturulan önbellek klasör yolu ile birleştirerek HTML’nin kaydedilebileceği tam dosya sistemi konumunu üretir. Bu belirleyici adlandırma, çok sayfalı PDF’leri işlerken çakışmaları önler.
// ```csharp
using System.IO;
namespace GroupDocs.Search.Examples.CSharp.HighlightInHtml
{
internal class Feature_InitializeIndexedFileInfo
{
private readonly string _viewerCacheFolderPath;
private readonly string _filePath;
private readonly string _fileFolderName;
private readonly string _fileCacheFolderPath;
public Feature_InitializeIndexedFileInfo(string viewerCacheFolderPath, string filePath)
{
// Store the provided cache folder path.
_viewerCacheFolderPath = viewerCacheFolderPath;
// Store the file path.
_filePath = filePath;
// Extract and modify the file name to create a folder name.
var fileName = Path.GetFileName(_filePath);
_fileFolderName = fileName.Replace(".", "_");
// Combine paths for cache directory.
_fileCacheFolderPath = Path.Combine(viewerCacheFolderPath, _fileFolderName);
}
public string ViewerCacheFolderPath => _viewerCacheFolderPath;
public string FilePath => _filePath;
public string FileFolderName => _fileFolderName;
public string FileCacheFolderPath => _fileCacheFolderPath;
}
}
HTML sayfa kaynak dosya yolları ve URL’leri nasıl oluşturulur?
Feature_GenerateHtmlPageResourceFilePathAndUrl, sayfa kaynakları için hem fiziksel dosya yolunu hem de karşılık gelen web URL’sini oluşturur.
Görseller, fontlar veya CSS dosyaları gibi kaynaklar, hem disk üzerindeki bir konuma hem de tarayıcının isteyebileceği bir URL’ye ihtiyaç duyar. Bu sınıf bir sayfa numarası ve bir kaynak adı alır, ardından önbellek klasörü içindeki mutlak dosya sistemi yolunu ve bir web sunucusu tarafından eşlenebilen sanal bir URL’yi içeren bir tuple döndürür. Bu yaklaşım, kaynak referanslarının oluşturulan sayfalar arasında tutarlı kalmasını sağlar.
// ```csharp
using System.IO;
namespace GroupDocs.Search.Examples.CSharp.HighlightInHtml
{
internal class Feature_GenerateHtmlPageFilePath
{
private readonly string _fileCacheFolderPath;
public Feature_GenerateHtmlPageFilePath(string fileCacheFolderPath)
{
// Initialize with cache folder path.
_fileCacheFolderPath = fileCacheFolderPath;
}
public string GetHtmlPageFilePath(int pageNumber)
{
// Create a page-specific HTML file name.
string pageFileName = $"p{pageNumber}.html";
// Combine paths for the full file location.
string pageFilePath = Path.Combine(_fileCacheFolderPath, pageFileName);
return pageFilePath;
}
}
}
Pratik uygulamalar
- Hukuki belge incelemesi: Madde ve hükümeleri vurgulayın, HTML’ye dışa aktarın ve avukatların tarayıcıda yorum yapmasına izin verin.
- E‑öğrenme içeriği: Notlu ders PDF’lerini aranabilir vurgulamalı etkileşimli web sayfalarına dönüştürün.
- Dijital yayıncılık: Vurgulanan alıntıların okuyucunun dikkatini çektiği, dergilerin web için hazır sürümlerini üretin.
Bu senaryolar, GroupDocs.Redaction’ın sağladığı yüksek performanslı akış sayesinde, günde binlerce belge işlemenize olanak tanır.
Yaygın sorunlar ve çözümler
| Sorun | Neden | Çözüm |
|---|---|---|
| Vurgulama HTML’de görünmüyor | Oluşturulan sayfada CSS sınıfının eksik olması | highlight.css dosyasının görüntüleyici tarafından referans alındığından emin olun veya stil bloğunu manuel olarak ekleyin. |
| Büyük PDF’lerde bellek dışı hata | Document.Load‘u akış olmadan kullanmak | EnableStreaming = true ayarıyla RedactorOptions kullanın. |
| Kaynak URL’leri 404 döndürüyor | Yanlış temel URL yapılandırması | RedactionViewerOptions.BaseUrl‘u statik dosyalar klasörünüzün köküne ayarlayın. |
Sıkça sorulan sorular
Q: Tek bir PDF’de birden fazla bölümü aynı anda vurgulayabilir miyim?
A: Evet. Redactor.Apply metoduna bir RedactionRegion nesnesi koleksiyonu gönderin; her bölge aynı işlemde vurgulanır.
Q: API anahtar kelime‑tabanlı vurgulamayı destekliyor mu?
A: Evet. Bir terimin tüm oluşumlarını bulmak için Redactor.Search kullanın, ardından ortaya çıkan bölgeler üzerinde bir vurgulama redaksiyonu uygulayın.
Q: Oluşturulan HTML etkileşimli mi (ör. tıklayınca gezinme)?
A: Varsayılan çıktı statiktir, ancak oluşturma sonrası JavaScript enjekte ederek gezinme, araç ipuçları veya özel tıklama işleyicileri ekleyebilirsiniz.
Q: Vurgulama rengini nasıl değiştirebilirim?
A: Dışa aktarılan HTML’de .redaction-highlight CSS sınıfını değiştirin veya uygulamadan önce RedactionOptions üzerindeki HighlightColor özelliğini ayarlayın.
Q: Bu, 1 GB’den büyük PDF’ler için çalışır mı?
A: Evet, akışı etkinleştirir ve yeterli geçici disk alanı tahsis ederseniz; API belgeyi RAM’e tamamen yüklemez.
Sonuç
Artık how to highlight pdf dosyaları için eksiksiz, üretim‑hazır bir iş akışına sahipsiniz ve bu dosyaları GroupDocs.Redaction for .NET kullanarak vurgulanmış HTML sayfalarına dönüştürebilirsiniz. İndeksli dosya bilgilerini başlatarak, belirleyici HTML yolları oluşturarak ve kaynak URL’lerini yöneterek bu çözümü herhangi bir .NET tabanlı belge yönetim sistemi, hukuki inceleme portalı veya e‑öğrenme platformuna entegre edebilirsiniz.
Son Güncelleme: 2026-08-20
Test Edilen: GroupDocs.Redaction 23.12 for .NET
Yazar: GroupDocs
using System.IO;
namespace GroupDocs.Search.Examples.CSharp.HighlightInHtml
{
internal class Feature_GenerateHtmlPageResourceFilePathAndUrl
{
private readonly string _fileCacheFolderPath;
public Feature_GenerateHtmlPageResourceFilePathAndUrl(string fileCacheFolderPath)
{
// Initialize with the cache folder path.
_fileCacheFolderPath = fileCacheFolderPath;
}
public string GetHtmlPageResourceFilePath(int pageNumber, string resourceFileName)
{
// Construct a unique name for resources.
string resFileName = GetResourceFileName(pageNumber, resourceFileName);
// Combine paths to form full resource path.
string resFilePath = Path.Combine(_fileCacheFolderPath, resFileName);
return resFilePath;
}
public string GetHtmlPageResourceUrl(int pageNumber, string resourceFileName)
{
// Generate a URL-like string for the resource.
return GetResourceFileName(pageNumber, resourceFileName);
}
private static string GetResourceFileName(int pageNumber, string resourceFileName)
{
// Construct resource names based on page number and file name.
var resFileName = $"p{pageNumber}_{resourceFileName}";
return resFileName;
}
}
}