Διαγράψτε τις λέξεις
Εισαγωγή
Έχετε βρει ποτέ τον εαυτό σας να χρειάζεται να τονίσετε συγκεκριμένο κείμενο σε ένα PDF διαγράφοντας το; Είτε εξετάζετε έγγραφα, είτε επισημαίνετε κείμενο είτε απλά χρειάζεται να επισημάνετε ορισμένες ενότητες, η ανάδειξη λέξεων μπορεί να είναι ένα πολύτιμο εργαλείο. Σε αυτό το σεμινάριο, θα εξερευνήσουμε πώς να το κάνουμε αυτό χρησιμοποιώντας το Aspose.PDF για .NET. Αυτός ο περιεκτικός οδηγός θα σας καθοδηγήσει σε κάθε βήμα, διασφαλίζοντας ότι έχετε όλες τις πληροφορίες που απαιτούνται για την αποτελεσματική εφαρμογή αυτής της δυνατότητας στις εφαρμογές σας .NET.
Προαπαιτούμενα
Προτού μεταβούμε στον κώδικα, υπάρχουν μερικές προϋποθέσεις που θα πρέπει να πληροίτε για να ακολουθήσετε αυτό το σεμινάριο:
Aspose.PDF για .NET Library: Βεβαιωθείτε ότι έχετε εγκαταστήσει τη βιβλιοθήκη Aspose.PDF για .NET. Μπορείτεκατεβάστε το εδώ.
.NET Framework: Βεβαιωθείτε ότι έχετε εγκαταστήσει το .NET Framework στον υπολογιστή σας. Αυτό το σεμινάριο έχει σχεδιαστεί για εφαρμογές .NET.
Περιβάλλον ανάπτυξης: Θα χρειαστείτε ένα IDE όπως το Visual Studio για να γράψετε και να εκτελέσετε τον κώδικά σας.
Έγγραφο PDF: Έχετε έτοιμο ένα δείγμα αρχείου PDF με το οποίο θέλετε να εργαστείτε. Αυτό θα είναι το έγγραφο όπου θα διαγράψουμε το κείμενο.
Βασικές γνώσεις C#: Η εξοικείωση με τον προγραμματισμό C# είναι απαραίτητη για την κατανόηση και την υλοποίηση των βημάτων σε αυτό το σεμινάριο.
Εισαγωγή πακέτων
Για να μπορέσουμε να ξεκινήσουμε την κωδικοποίηση, πρέπει να εισαγάγουμε τους απαραίτητους χώρους ονομάτων στο έργο μας .NET. Αυτό θα μας δώσει πρόσβαση στις κλάσεις και τις μεθόδους που απαιτούνται για τον χειρισμό αρχείων PDF χρησιμοποιώντας το Aspose.PDF.
using System;
using System.IO;
using Aspose.Pdf.Annotations;
using Aspose.Pdf;
Αυτοί οι χώροι ονομάτων είναι απαραίτητοι για την εργασία με έγγραφα PDF, το χειρισμό κειμένου και την προσθήκη σχολιασμών όπως σημειώσεις.
Σε αυτήν την ενότητα, θα αναλύσουμε τη διαδικασία διαγραφής λέξεων σε ένα έγγραφο PDF σε απλά, διαχειρίσιμα βήματα. Κάθε βήμα θα συνοδεύεται από μια λεπτομερή εξήγηση για να διασφαλίσετε ότι κατανοείτε πώς λειτουργούν όλα.
Βήμα 1: Φορτώστε το έγγραφο PDF
Το πρώτο βήμα είναι να φορτώσετε το έγγραφο PDF που θέλετε να επεξεργαστείτε. Αυτό το έγγραφο θα είναι εκείνο όπου θα ξεχωρίζετε συγκεκριμένες λέξεις ή φράσεις.
// Η διαδρομή προς τον κατάλογο εγγράφων.
string dataDir = "YOUR DOCUMENT DIRECTORY";
// Ανοίξτε το έγγραφο PDF
Document document = new Document(dataDir + "input.pdf");
dataDir
: Αυτή η μεταβλητή κρατά τη διαδρομή προς τον κατάλογο εγγράφων σας. Αντικαθιστώ"YOUR DOCUMENT DIRECTORY"
με την πραγματική διαδρομή όπου βρίσκεται το αρχείο PDF σας.Document
: ΤοDocument
η κλάση αντιπροσωπεύει ένα έγγραφο PDF. Περνώντας τη διαδρομή του αρχείου στον κατασκευαστή του, ανοίγουμε το αρχείο PDF για επεξεργασία.
Βήμα 2: Δημιουργήστε έναν απορροφητή θραύσματος κειμένου για να βρείτε συγκεκριμένο κείμενο
Στη συνέχεια, θα δημιουργήσουμε ένα παράδειγμα τουTextFragmentAbsorber
για να αναζητήσετε ένα συγκεκριμένο τμήμα κειμένου στο έγγραφο PDF. Αυτό μας επιτρέπει να εντοπίσουμε το κείμενο που θέλουμε να διαγράψουμε.
// Δημιουργήστε το στιγμιότυπο του TextFragment Absorber για να αναζητήσετε ένα συγκεκριμένο τμήμα κειμένου
Aspose.Pdf.Text.TextFragmentAbsorber textFragmentAbsorber = new Aspose.Pdf.Text.TextFragmentAbsorber("Estoque");
TextFragmentAbsorber
Αυτή η κλάση χρησιμοποιείται για την εύρεση και εργασία με συγκεκριμένα τμήματα κειμένου μέσα στο έγγραφο PDF. Σε αυτό το παράδειγμα, αναζητούμε τη λέξη “Estoque”. Αντικαταστήστε το “Estoque” με τη λέξη ή τη φράση που θέλετε να βρείτε στο έγγραφό σας.
Βήμα 3: Επανάληψη μέσω των σελίδων του εγγράφου PDF
Τώρα που έχουμε το δικό μαςTextFragmentAbsorber
, πρέπει να επαναλάβουμε κάθε σελίδα του εγγράφου PDF για να βρούμε το καθορισμένο κείμενο.
// Επαναλάβετε τις σελίδες του εγγράφου PDF
for (int i = 1; i <= document.Pages.Count; i++)
{
// Λάβετε την τρέχουσα σελίδα του εγγράφου PDF
Page page = document.Pages[i];
page.Accept(textFragmentAbsorber);
}
for (int i = 1; i <= document.Pages.Count; i++)
: Αυτός ο βρόχος επαναλαμβάνεται σε κάθε σελίδα του εγγράφου PDF.document.Pages[i]
: Ανακτά την τρέχουσα σελίδα που υποβάλλεται σε επεξεργασία.page.Accept(textFragmentAbsorber)
: Αυτή η μέθοδος εφαρμόζει τοTextFragmentAbsorber
στην τρέχουσα σελίδα, αναζητώντας το καθορισμένο κείμενο.
Βήμα 4: Συλλέξτε και επεξεργαστείτε τα τμήματα κειμένου
Αφού επαναλάβουμε τις σελίδες, θα συλλέξουμε τα τμήματα κειμένου που βρέθηκαν και θα τα προετοιμάσουμε για περαιτέρω επεξεργασία.
// Δημιουργήστε μια συλλογή από θραύσματα κειμένου που έχουν απορροφηθεί
Aspose.Pdf.Text.TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;
TextFragmentCollection
Αυτή η συλλογή αποθηκεύει όλα τα τμήματα κειμένου που βρέθηκαν στο έγγραφο. Θα χρησιμοποιήσουμε αυτήν τη συλλογή στο επόμενο βήμα για να διαγράψουμε το κείμενο.
Βήμα 5: Επαναλάβετε μέσα από τα τμήματα κειμένου και διαγράψτε τα
Σε αυτό το βήμα, θα περιηγηθούμε σε κάθε τμήμα κειμένου στη συλλογή μας και θα εφαρμόσουμε έναν σχολιασμό διαγραφής σε αυτό.
// Επαναλάβετε τη συλλογή των τμημάτων κειμένου
for (int j = 1; j <= textFragmentCollection.Count; j++)
{
Aspose.Pdf.Text.TextFragment textFragment = textFragmentCollection[j];
// Λάβετε τις ορθογώνιες διαστάσεις του αντικειμένου TextFragment
Aspose.Pdf.Rectangle rect = new Aspose.Pdf.Rectangle(
(float)textFragment.Position.XIndent,
(float)textFragment.Position.YIndent,
(float)textFragment.Position.XIndent + (float)textFragment.Rectangle.Width,
(float)textFragment.Position.YIndent + (float)textFragment.Rectangle.Height);
// Instantiate instantation StrikeOut Annotation
StrikeOutAnnotation strikeOut = new StrikeOutAnnotation(textFragment.Page, rect);
// Ορίστε ιδιότητες του σχολιασμού διαγραφής
strikeOut.Opacity = .80f;
strikeOut.Border = new Border(strikeOut);
strikeOut.Color = Aspose.Pdf.Color.Red;
// Προσθέστε τον σχολιασμό στη συλλογή σχολιασμών της σελίδας του τμήματος κειμένου
textFragment.Page.Annotations.Add(strikeOut);
}
TextFragment textFragment = textFragmentCollection[j]
: Αυτή η γραμμή ανακτά το τρέχον τμήμα κειμένου.Aspose.Pdf.Rectangle
: Υπολογίζουμε τις ορθογώνιες διαστάσεις του τμήματος κειμένου για να καθορίσουμε πού θα εφαρμοστεί η διαγραφή.StrikeOutAnnotation
: Αυτή η κλάση αντιπροσωπεύει τον σχολιασμό διαγραφής. Το εγκαθιδρύουμε με το υπολογισμένο ορθογώνιο και την τρέχουσα σελίδα.strikeOut.Opacity
: Αυτή η ιδιότητα ορίζει την αδιαφάνεια της διαγραφής, καθιστώντας την ορατή κατά 80%.strikeOut.Color
Ρυθμίσαμε το χρώμα του διαγράμματος σε κόκκινο. Μπορείτε να το αλλάξετε σε οποιοδήποτε χρώμα προτιμάτε.textFragment.Page.Annotations.Add(strikeOut)
: Αυτό προσθέτει τον σχολιασμό διαγραφής στη σελίδα.
Βήμα 6: Αποθηκεύστε το τροποποιημένο έγγραφο PDF
Το τελευταίο βήμα είναι να αποθηκεύσετε το τροποποιημένο έγγραφο PDF με τις διαγραφές που εφαρμόζονται.
// Αποθηκεύστε το ενημερωμένο έγγραφο PDF
dataDir = dataDir + "StrikeOutWords_out.pdf";
document.Save(dataDir);
dataDir + "StrikeOutWords_out.pdf"
: Αυτό δημιουργεί ένα νέο όνομα αρχείου για το τροποποιημένο έγγραφο. Το αρχικό αρχείο παραμένει αμετάβλητο.document.Save(dataDir)
: Αποθηκεύει το έγγραφο PDF με τις διαγραφές στην καθορισμένη θέση.
Σύναψη
Συγχαρητήρια! Διαγράψατε με επιτυχία συγκεκριμένες λέξεις σε ένα έγγραφο PDF χρησιμοποιώντας το Aspose.PDF για .NET. Ακολουθώντας αυτόν τον οδηγό βήμα προς βήμα, μπορείτε τώρα να προσαρμόσετε έγγραφα PDF επισημαίνοντας ή επισημαίνοντας κείμενο, καθιστώντας τα πιο δυναμικά και προσαρμοσμένα στις ανάγκες σας. Είτε σχολιάζετε νομικά έγγραφα, προετοιμάζετε αναφορές ή απλώς επισημαίνετε κείμενο για έλεγχο, αυτό το σεμινάριο σάς έχει εφοδιάσει με τις δεξιότητες για να το κάνετε αποτελεσματικά.
Συχνές ερωτήσεις
Μπορώ να αλλάξω το χρώμα του διαγράμματος;
Ναι, μπορείτε να αλλάξετε το χρώμα τροποποιώντας τοstrikeOut.Color
ιδιοκτησία. Για παράδειγμα, μπορείτε να το ρυθμίσετε σεAspose.Pdf.Color.Blue
για μπλε απεργία.
Είναι δυνατόν να διαγράψετε πολλές λέξεις ταυτόχρονα;
Απολύτως! ΟTextFragmentAbsorber
μπορεί να χρησιμοποιηθεί για την αναζήτηση οποιασδήποτε λέξης ή φράσης στο έγγραφο. Μπορείτε να εφαρμόσετε τη διαγραφή σε πολλές περιπτώσεις επαναλαμβάνοντας μέσα από τοTextFragmentCollection
.
Τι γίνεται αν θέλω να διαγράψω κείμενο μόνο σε συγκεκριμένες σελίδες;
Μπορείτε να τροποποιήσετε τον βρόχο που επαναλαμβάνεται στις σελίδες ώστε να περιλαμβάνει μόνο τις σελίδες που θέλετε να τροποποιήσετε. Για παράδειγμα,for (int i = 1; i <= 3; i++)
θα εφαρμόσει τη διαγραφή μόνο στις τρεις πρώτες σελίδες.
Πώς μπορώ να ρυθμίσω το πάχος της γραμμής διαγράμμισης;
Μπορείτε να προσαρμόσετε το πάχος της γραμμής διαγραφής τροποποιώντας τοBorder
ιδιοκτησία τουStrikeOutAnnotation
. Αυτό επιτρέπει την προσαρμογή της εμφάνισης διαγράμμισης.
Υπάρχει τρόπος να αναιρέσετε τη διαγραφή μετά την αποθήκευση του εγγράφου;
Μόλις αποθηκευτεί το έγγραφο, η διαγραφή είναι μόνιμη. Εάν πρέπει να διατηρήσετε το αρχικό κείμενο χωρίς τη διαγραφή, σκεφτείτε να αποθηκεύσετε ένα αντίγραφο ασφαλείας του αρχικού εγγράφου πριν εφαρμόσετε τυχόν τροποποιήσεις.