Απόκρυψη αριθμών σελίδων στο TOC

Εισαγωγή

Όταν εργάζεστε με αρχεία PDF, μερικές φορές μπορεί να θέλετε να δημιουργήσετε έναν Πίνακα Περιεχομένων (TOC), αλλά να διατηρήσετε τα πράγματα κομψά κρύβοντας τους αριθμούς των σελίδων. Ίσως το έγγραφο ρέει καλύτερα χωρίς αυτά, ή ίσως είναι μια αισθητική επιλογή. Όποιος κι αν είναι ο λόγος σας, εάν εργάζεστε με το Aspose.PDF για .NET, αυτό το σεμινάριο θα σας δείξει ακριβώς πώς να αποκρύψετε τους αριθμούς σελίδων στο TOC σας.

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

Πριν ξεκινήσουμε, υπάρχουν μερικά πράγματα που θα χρειαστείτε στη θέση τους. Ακολουθεί μια γρήγορη λίστα ελέγχου:

  • Εγκαταστάθηκε το Visual Studio: Θα χρειαστείτε μια λειτουργική έκδοση του Visual Studio για τον κώδικα.
  • Aspose.PDF για .NET Library: Βεβαιωθείτε ότι έχετε εγκαταστήσει τη βιβλιοθήκη Aspose.PDF για .NET.
  • Προσωρινή άδεια: Εάν δοκιμάζετε τις δυνατότητες, είναι χρήσιμο να έχετε μια προσωρινή άδεια.

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

Πριν μεταβείτε στον κώδικα, βεβαιωθείτε ότι έχετε εισαγάγει τους ακόλουθους χώρους ονομάτων στο έργο σας C#. Αυτά θα παρέχουν τις απαραίτητες κλάσεις και μεθόδους για την εργασία με έγγραφα PDF και τη δημιουργία του Πίνακα Περιεχομένων (TOC).

using Aspose.Pdf;
using Aspose.Pdf.Text;

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

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

Το πρώτο πράγμα που πρέπει να κάνουμε είναι να δημιουργήσουμε ένα νέο έγγραφο PDF και να προσθέσουμε μια σελίδα για τον Πίνακα Περιεχομένων (TOC).

// Η διαδρομή προς τον κατάλογο εγγράφων.
string dataDir = "YOUR DOCUMENT DIRECTORY";
string outFile = dataDir + "HiddenPageNumbers_out.pdf";
Document doc = new Document();
Page tocPage = doc.Pages.Add();
  • dataDir: Αυτός είναι ο κατάλογος όπου θα αποθηκευτεί το αρχείο εξόδου σας.
  • Document(): Αρχικοποιεί ένα νέο έγγραφο PDF.
  • Pages.Add(): Προσθέτει μια νέα κενή σελίδα στο έγγραφο, η οποία αργότερα θα κρατήσει το TOC σας.

Βήμα 2: Ρυθμίστε τις πληροφορίες και τον τίτλο TOC

Στη συνέχεια, θα ορίσουμε τις πληροφορίες TOC, συμπεριλαμβανομένου του ορισμού του τίτλου που θα εμφανίζεται στην κορυφή του TOC.

TocInfo tocInfo = new TocInfo();
TextFragment title = new TextFragment("Table Of Contents");
title.TextState.FontSize = 20;
title.TextState.FontStyle = FontStyles.Bold;
tocInfo.Title = title;
tocPage.TocInfo = tocInfo;
  • TocInfo: Αυτό το αντικείμενο περιέχει όλες τις πληροφορίες σχετικά με το TOC.
  • TextFragment: Αντιπροσωπεύει το κείμενο του τίτλου TOC, εδώ το ορίζουμε ως “Πίνακας Περιεχομένων”.
  • FontStyle: Διαμορφώνουμε τον τίτλο TOC ορίζοντας το μέγεθός του στο 20 και κάνοντας τον τολμηρό.
  • tocPage.TocInfo: Εκχωρούμε τις πληροφορίες TOC στη σελίδα που θα εμφανίσει το TOC.

Βήμα 3: Απόκρυψη αριθμών σελίδων στο TOC

Τώρα για το διασκεδαστικό κομμάτι! Εδώ διαμορφώνουμε το TOC για απόκρυψη των αριθμών σελίδων.

tocInfo.IsShowPageNumbers = false;
tocInfo.FormatArrayLength = 4;
  • IsShowPageNumbers: Αυτός είναι ο μαγικός διακόπτης που κρύβει τους αριθμούς σελίδων. Ρυθμίστε το σεfalse, και οι αριθμοί σελίδων δεν θα εμφανίζονται στο TOC.
  • FormatArrayLength: Το ορίσαμε σε 4, υποδεικνύοντας ότι θέλουμε να ορίσουμε τη μορφοποίηση για τέσσερα επίπεδα επικεφαλίδων TOC.

Βήμα 4: Προσαρμόστε τη μορφοποίηση TOC

Για να προσθέσουμε περισσότερο στυλ στο TOC σας, θα ορίσουμε τώρα τη μορφοποίηση για διαφορετικά επίπεδα επικεφαλίδων.

tocInfo.FormatArray[0].Margin.Right = 0;
tocInfo.FormatArray[0].TextState.FontStyle = FontStyles.Bold | FontStyles.Italic;
tocInfo.FormatArray[1].Margin.Left = 30;
tocInfo.FormatArray[1].TextState.Underline = true;
tocInfo.FormatArray[1].TextState.FontSize = 10;
tocInfo.FormatArray[2].TextState.FontStyle = FontStyles.Bold;
tocInfo.FormatArray[3].TextState.FontStyle = FontStyles.Bold;
  • FormatArray: Αυτός ο πίνακας ελέγχει τη μορφοποίηση των καταχωρήσεων TOC. Κάθε ευρετήριο αντιπροσωπεύει ένα διαφορετικό επίπεδο επικεφαλίδας.
  • Margin και TextStyle: Ορίζουμε περιθώρια και εφαρμόζουμε στυλ γραμματοσειράς όπως έντονη, πλάγια γραφή και υπογράμμιση για κάθε επίπεδο επικεφαλίδας.

Βήμα 5: Προσθήκη επικεφαλίδων στο έγγραφο

Τέλος, ας προσθέσουμε τις πραγματικές επικεφαλίδες που θα αποτελούν μέρος του TOC.

Page page = doc.Pages.Add();
for (int Level = 1; Level != 5; Level++)
{ 
    Heading heading2 = new Heading(Level); 
    TextSegment segment2 = new TextSegment(); 
    heading2.TocPage = tocPage; 
    heading2.Segments.Add(segment2); 
    heading2.IsAutoSequence = true; 
    segment2.Text = "this is heading of level " + Level; 
    heading2.IsInList = true; 
    page.Paragraphs.Add(heading2); 
}
  • Επικεφαλίδα και Τμήμα κειμένου: Αυτά αντιπροσωπεύουν τις επικεφαλίδες που θα εμφανίζονται στο TOC σας. Κάθε επίπεδο έχει τη δική του επικεφαλίδα.
  • IsAutoSequence: Αριθμεί αυτόματα τις επικεφαλίδες.
  • IsInList: Διασφαλίζει ότι κάθε επικεφαλίδα εμφανίζεται στο TOC.

Βήμα 6: Αποθηκεύστε το έγγραφο

Μόλις ρυθμιστούν όλα, αποθηκεύστε το έγγραφο PDF στο καθορισμένο αρχείο εξόδου.

doc.Save(outFile);

Και τέλος! Δημιουργήσατε επιτυχώς ένα PDF με Πίνακα περιεχομένων και οι αριθμοί σελίδων είναι κρυφοί!

Σύναψη

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

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

Μπορώ να εμφανίσω αριθμούς σελίδων για συγκεκριμένες επικεφαλίδες στο TOC;

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

Είναι δυνατόν να προστεθούν περισσότερα επίπεδα στο TOC;

Ναι, μπορείτε να αυξήσετε τοFormatArrayLength για να ορίσετε περισσότερα επίπεδα επικεφαλίδων TOC.

Πώς μπορώ να αλλάξω τη γραμματοσειρά για όλες τις καταχωρήσεις TOC;

Μπορείτε να αλλάξετε τη γραμματοσειρά τροποποιώντας τοTextState.Font ιδιοκτησία για κάθε επίπεδο στοFormatArray.

Μπορώ να εισάγω υπερσυνδέσμους στο TOC;

Ναι, μπορείτε να συνδέσετε κάθε καταχώρηση TOC σε μια συγκεκριμένη ενότητα του εγγράφου χρησιμοποιώντας τοHeading.TocPage ιδιοκτησία.

Χρειάζομαι άδεια για το Aspose.PDF;

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