Επισημάνετε τον χαρακτήρα σε αρχείο PDF

Εισαγωγή

Όταν πρόκειται για εργασία με αρχεία PDF, συχνά προκύπτει η ανάγκη επισήμανσης κειμένου ή χαρακτήρων — είτε για ακαδημαϊκούς σκοπούς, είτε για επεξεργασία, είτε απλώς για βελτίωση της αναγνωσιμότητας. Φανταστείτε ότι έχετε ένα όμορφο έγγραφο, αλλά θέλετε να τονίσετε ορισμένα σημεία. Εκεί είναι που η επισήμανση μπαίνει στην εικόνα! Σε αυτό το σεμινάριο, θα μάθουμε πώς να επισημάνετε χαρακτήρες σε ένα αρχείο PDF χρησιμοποιώντας την ισχυρή βιβλιοθήκη Aspose.PDF για .NET.

Προαπαιτούμενα

Πριν μεταβούμε στον κώδικα, ας βεβαιωθούμε ότι έχουμε όλα όσα χρειαζόμαστε. Εδώ είναι τι θα χρειαστείτε:

  1. Ένα περιβάλλον ανάπτυξης: Αυτό το σεμινάριο προϋποθέτει ότι εργάζεστε σε Visual Studio ή σε παρόμοιο .NET IDE.
  2. Aspose.PDF για .NET Library: Εάν δεν το έχετε κάνει ήδη, μπορείτεκατεβάστε το εδώ και προσθέστε το στο έργο σας.
  3. Βασικές γνώσεις C#: Ένα primer στον προγραμματισμό C# θα σας βοηθήσει να κατανοήσετε εύκολα την υλοποίηση.
  4. Ένα έγγραφο PDF: Θα πρέπει να έχετε ένα δείγμα αρχείου PDF έτοιμο για εργασία. Μπορείτε να δημιουργήσετε ένα ή να χρησιμοποιήσετε ένα υπάρχον έγγραφο.

Εισαγωγή πακέτων

Για να ξεκινήσουμε, πρέπει να εισαγάγουμε τους απαραίτητους χώρους ονομάτων. Για να το κάνετε αυτό, θα θελήσετε να τα συμπεριλάβετε στην κορυφή του αρχείου C#:

using System.IO;
using Aspose.Pdf;
using Aspose.Pdf.Facades;
using Aspose.Pdf.Devices;
using Aspose.Pdf.Text;
using System;
using System.Drawing;

Αυτά τα πακέτα είναι απαραίτητα για τη δημιουργία, το χειρισμό και την επεξεργασία εγγράφων PDF χρησιμοποιώντας τη βιβλιοθήκη Aspose.

Τώρα, ας χωρίσουμε τη διαδικασία σε εύπεπτα βήματα για να επισημάνουμε χαρακτήρες στο PDF σας.

Βήμα 1: Αρχικοποιήστε το έγγραφο PDF

Το πρώτο βήμα είναι να αρχικοποιήσετε το έγγραφο PDF σας. Αυτό περιλαμβάνει τη φόρτωση του αρχείου PDF με το οποίο θα εργαστείτε. Δείτε πώς να το κάνετε:

string dataDir = "YOUR DOCUMENT DIRECTORY"; // Βεβαιωθείτε ότι έχετε ορίσει τη σωστή διαδρομή.
Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(dataDir + "input.pdf");

Σε αυτό το απόσπασμα, αντικαταστήστεYOUR DOCUMENT DIRECTORY με την πραγματική διαδρομή στο μηχάνημά σας όπου βρίσκεται το αρχείο εισόδου PDF. ΟAspose.Pdf.Document Η τάξη δημιουργείται για να φορτώσει το PDF σας.

Βήμα 2: Ρυθμίστε τη διαδικασία απόδοσης

Στη συνέχεια, πρέπει να προετοιμάσουμε τη διαδικασία απόδοσης για το έγγραφό μας. Αυτό είναι απαραίτητο για την ακριβή επισήμανση των χαρακτήρων στη σελίδα.

int resolution = 150; // Ρυθμίστε την ανάλυση για τη λήψη εικόνας.
using (MemoryStream ms = new MemoryStream())
{
    PdfConverter conv = new PdfConverter(pdfDocument);
    conv.Resolution = new Resolution(resolution, resolution);
    conv.GetNextImage(ms, System.Drawing.Imaging.ImageFormat.Png);
    Bitmap bmp = (Bitmap)Bitmap.FromStream(ms);

Ορίζουμε μια ανάλυση για σαφήνεια, επιτρέποντας στο κείμενο να αποδοθεί σωστά. ΟPdfConverterμετατρέπει τις σελίδες PDF σε εικόνες για να μπορούμε να σχεδιάσουμε πάνω τους.

Βήμα 3: Δημιουργήστε ένα αντικείμενο γραφικών για σχέδιο

Αφού ρυθμίσουμε τη διαδικασία σχεδίασης, πρέπει να δημιουργήσουμε ένα αντικείμενο γραφικών στο οποίο θα κάνουμε την επισήμανση:

using (System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(bmp))
{
    float scale = resolution / 72f; // Συντελεστής κλίμακας.
    gr.Transform = new System.Drawing.Drawing2D.Matrix(scale, 0, 0, -scale, 0, bmp.Height);

Εδώ, δημιουργούμε το αντικείμενο γραφικών από την εικόνα bitmap. Ο μετασχηματισμός βοηθά στην προσαρμογή της απόδοσης ώστε να ταιριάζει σωστά με την απαιτούμενη ανάλυση.

Βήμα 4: Κάντε βρόχο μέσα από κάθε σελίδα και επισημάνετε το κείμενο

Τώρα, ας περιηγηθούμε σε κάθε σελίδα στο PDF και ας βρούμε τα τμήματα κειμένου που θέλουμε να επισημάνουμε:

for (int i = 0; i < pdfDocument.Pages.Count; i++)
{
    Page page = pdfDocument.Pages[i + 1]; // Οι σελίδες έχουν ευρετήριο 1 στο Aspose.
    TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber(@"[\S]+");
    textFragmentAbsorber.TextSearchOptions.IsRegularExpressionUsed = true;
    page.Accept(textFragmentAbsorber);

Έχουμε πρόσβαση σε κάθε σελίδα και αναζητούμε όλο το κείμενο χρησιμοποιώντας τοTextFragmentAbsorber . Το πρότυπο κανονικής έκφρασης@"[\S]+" καταγράφει όλους τους χαρακτήρες χωρίς κενά.

Βήμα 5: Εξαγωγή τμημάτων κειμένου και επισήμανση

Τώρα ήρθε η ώρα να εξαγάγετε τα τμήματα κειμένου και να τα επισημάνετε. Αυτή η διαδικασία περιλαμβάνει τη σχεδίαση ορθογωνίων γύρω από τους χαρακτήρες που θέλουμε να επισημάνουμε:

TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;

foreach (TextFragment textFragment in textFragmentCollection)
{
    // Επισήμανση της λογικής εδώ
    for (int segNum = 1; segNum <= textFragment.Segments.Count; segNum++)
    {
        TextSegment segment = textFragment.Segments[segNum];
        for (int charNum = 1; charNum <= segment.Characters.Count; charNum++)
        {
            CharInfo characterInfo = segment.Characters[charNum];
            gr.DrawRectangle(Pens.Black, 
                (float)characterInfo.Rectangle.LLX, 
                (float)characterInfo.Rectangle.LLY, 
                (float)characterInfo.Rectangle.Width, 
                (float)characterInfo.Rectangle.Height);
        }
    }
}

Πραγματοποιούμε κύκλο σε κάθε τμήμα κειμένου, τα τμήματα του και μεμονωμένους χαρακτήρες, σχεδιάζοντας ορθογώνια γύρω τους χρησιμοποιώντας το αντικείμενο γραφικών που δημιουργήθηκε προηγουμένως.

Βήμα 6: Αποθηκεύστε την τροποποιημένη εικόνα

Μετά την επισήμανση, θα πρέπει να αποθηκεύσετε την εικόνα που προκύπτει ως νέο αρχείο PNG:

dataDir = dataDir + "HighlightCharacterInPDF_out.png";
bmp.Save(dataDir, System.Drawing.Imaging.ImageFormat.Png);

Αυτή η γραμμή αποθηκεύει την τροποποιημένη εικόνα bitmap ως αρχείο PNG στον καθορισμένο κατάλογο.

Βήμα 7: Αναδίπλωση με χειρισμό εξαιρέσεων

Τέλος, είναι καλή πρακτική να τυλίξετε τον κώδικά σας σε ένα μπλοκ try-catch, διασφαλίζοντας ότι χειριζόμαστε με χάρη τυχόν απροσδόκητα σφάλματα:

catch (Exception ex)
{
    Console.WriteLine(ex.Message + "\nThis example will only work if you apply a valid Aspose License. You can purchase full license or get a 30-day temporary license from [here](https://buy.aspose.com/temporary-license/).");
}

Αυτό το μπλοκ εντοπίζει τυχόν εξαιρέσεις που ενδέχεται να προκύψουν κατά τη διάρκεια της διαδικασίας και παρέχει ενημερωτικά σχόλια στον χρήστη.

Σύναψη

Και ορίστε το! Έχετε επισημάνει με επιτυχία χαρακτήρες σε ένα αρχείο PDF χρησιμοποιώντας το Aspose.PDF για .NET. Αυτή η ισχυρή βιβλιοθήκη ανοίγει πόρτες σε ατελείωτες δυνατότητες χειρισμού PDF—είτε εργάζεστε με σχολιασμούς, συμπλήρωση φόρμας ή ακόμα και μετατροπή εγγράφων. Καθώς συνεχίζετε το ταξίδι σας με το Aspose, να θυμάστε ότι η εξάσκηση είναι το κλειδί. Συνεχίστε να πειραματίζεστε με διαφορετικές δυνατότητες και γρήγορα θα γίνετε επαγγελματίας PDF!

Συχνές ερωτήσεις

Τι είναι το Aspose.PDF για .NET;

Το Aspose.PDF για .NET είναι μια βιβλιοθήκη που επιτρέπει τη δημιουργία, τον χειρισμό και τη μετατροπή εγγράφων PDF μέσω προγραμματισμού σε εφαρμογές .NET.

Μπορώ να επισημάνω πολλά τμήματα κειμένου ταυτόχρονα;

Ναι, ο παρεχόμενος κώδικας μπορεί να προσαρμοστεί για την επισήμανση πολλών θραυσμάτων κάνοντας κύκλο σε όλο το κείμενο εντός του PDF.

Υπάρχει δωρεάν έκδοση του Aspose.PDF;

Ναι, το Aspose προσφέρει μια δωρεάν δοκιμή, ώστε να μπορείτε να δοκιμάσετε τη βιβλιοθήκη πριν την αγοράσετε.

Χρειάζομαι άδειες χρήσης για να χρησιμοποιήσω το Aspose.PDF;

Ναι, απαιτείται έγκυρη άδεια για εμπορική χρήση, αλλά μπορείτε να αποκτήσετε μια προσωρινή άδεια 30 ημερών για δοκιμή.

Πού μπορώ να βρω περισσότερα έγγραφα;

Μπορείτε να ανατρέξετε στοΤεκμηρίωση Aspose.PDF για πιο λεπτομερείς πληροφορίες σχετικά με την εφαρμογή και τα χαρακτηριστικά.