Trova e sostituisci testo nei file PDF programmaticamente con C#. Modifica diretta dei content stream — senza conversione in DOCX, senza dipendenze esterne, senza perdita di dati.
dotnet add package Exis.PdfEditor
La maggior parte delle librerie PDF .NET — IronPDF, Spire.PDF, Aspose, Syncfusion — sostituiscono il testo convertendo il PDF in un formato intermedio, oscurando il testo e disegnando nuovo testo sopra, o ricostruendo le pagine da zero.
Questo approccio danneggia:
Exis.PdfEditor analizza i content stream PDF direttamente a livello di byte. Localizza il testo negli operatori PDF reali, modifica solo gli operandi stringa mirati e scrive utilizzando l'aggiornamento incrementale PDF.
Tutto ciò che non viene toccato rimane identico byte per byte:
using Exis.PdfEditor;
using Exis.PdfEditor.Licensing;
ExisLicense.Initialize(); // Free 14-day trial — no key needed
var result = PdfFindReplace.Execute(
"contract.pdf",
"contract-updated.pdf",
"Acme Corporation",
"Globex Industries");
Console.WriteLine($"Replaced {result.TotalReplacements} occurrences " +
$"across {result.PagesModified} pages.");
var pairs = new[]
{
new FindReplacePair("2025", "2026"),
new FindReplacePair("Draft", "Final"),
new FindReplacePair("CONFIDENTIAL", "PUBLIC"),
};
var result = PdfFindReplace.Execute(
"report.pdf",
"report-final.pdf",
pairs);
var options = new PdfFindReplaceOptions { UseRegex = true };
// Replace all US phone numbers with a placeholder
var result = PdfFindReplace.Execute(
"document.pdf",
"redacted.pdf",
@"\(\d{3}\)\s?\d{3}-\d{4}",
"[PHONE REDACTED]",
options);
// Purchase at officefindreplace.com/Home/pdf-find-replace-csharp — $499/developer/year
ExisLicense.Initialize("XXXX-XXXX-XXXX-XXXX");
// Unlimited pages, no restrictions, no console messages
var result = PdfFindReplace.Execute("large-doc.pdf", "output.pdf", "old", "new");
| Funzionalità | Exis.PdfEditor | IronPDF | Spire.PDF | Aspose.PDF | Syncfusion |
|---|---|---|---|---|---|
| Modifica diretta dei content stream | ✓ | ✗ Rendering HTML | ✗ Sovrapposizione di oscuramento | ✗ Sostituzione per frammento | ✗ Sovrapposizione di oscuramento |
| Preserva i campi modulo | ✓ | ✗ | Parziale | Parziale | ✗ |
| Preserva le firme digitali | ✓ Pagine non modificate | ✗ | ✗ | ✗ | ✗ |
| Preserva spaziatura/crenatura del testo | ✓ | ✗ | ✗ | Parziale | ✗ |
| Zero dipendenze native | ✓ .NET puro | ✗ Motore Chromium | ✓ | ✓ | ✓ |
| Dimensione DLL | < 500 KB | ~250 MB | ~20 MB | ~40 MB | ~15 MB |
| Sostituzione batch multi-coppia | ✓ Singolo passaggio | Loop manuale | Loop manuale | Loop manuale | Loop manuale |
| .NET Framework 4.8 | ✓ | ✓ | ✓ | ✓ | ✗ Solo .NET 6+ |
| Multipiattaforma | ✓ | ✓ | ✓ | ✓ | ✓ |
| Supporto regex | ✓ | ✓ | ✓ | ✓ | ✓ |
| Prezzo (per sviluppatore/anno) | $499 | $749 | $999 | $1,175 | $995* |
| Sede centrale | 🇺🇸 USA | 🇺🇸 USA | 🇨🇳 China | 🇦🇺 Australia | 🇺🇸 USA |
Confronto basato sulla documentazione pubblicamente disponibile di febbraio 2026. Il supporto delle funzionalità può variare per versione.
"Modifica diretta dei content stream" significa che la libreria modifica gli operatori di testo PDF sul posto senza convertire, ri-renderizzare o sovrapporre.
Modifica gli operatori dei content stream. Nessuna conversione intermedia.
Nessun Ghostscript, nessun LibreOffice, nessun Chromium. .NET gestito puro.
Moduli, firme, annotazioni, segnalibri — tutto preservato.
.NET 8+, .NET Framework 4.8 e .NET Standard 2.0.
Coppie multiple trova/sostituisci eseguite in un singolo passaggio.
Supporto completo regex .NET per sostituzioni basate su pattern.
Windows, Linux, macOS. Ovunque .NET funzioni.
Singola DLL, sotto 500 KB. Nessun binario nativo da distribuire.
Installa il pacchetto NuGet e chiama ExisLicense.Initialize() — funzionalità completa per 14 giorni. Dopo la prova, la modalità valutazione elabora fino a 3 pagine per documento. Senza filigrane. Acquista una chiave di licenza su officefindreplace.com/Home/pdf-find-replace-csharp.
Prezzi in dollari USA. Una chiave per sviluppatore. Funziona su macchina di sviluppo, server di build e produzione — nessun limite per macchina o distribuzione.
Il tuo codice non cambia tra modalità prova e modalità con licenza. Aggiungi semplicemente la tua chiave quando sei pronto.
dotnet add package Exis.PdfEditor
Domande? Invia un'e-mail a support@exisone.com — riceverai risposta da uno sviluppatore, non da un bot.