Διαχείριση εγγράφων
Διαχείριση εγγράφων
Document είναι το ρίζα αντικείμενο στο Aspose.PDF FOSS για .NET. αντιπροσωπεύει ένα ολόκληρο το αρχείο PDF και παρέχει πρόσβαση σε σελίδες, μεταδεδομένα, πεδία φόρμας, και όλα τα Άλλες δομές PDF. Ανοίξτε τα υπάρχοντα αρχεία με Document.Open Δημιουργία νέων Οι άνθρωποι με το Document Ο κατασκευαστής.
Ανοίγοντας και δημιουργώντας έγγραφα
// Open from a byte array
using var doc = Document.Open(File.ReadAllBytes("input.pdf"));
// Open from a file path
using var doc2 = new Document("input.pdf");
// Create a new empty document
using var newDoc = new Document();
newDoc.Pages.Add();
newDoc.Save("new.pdf");Εργασία με σελίδες
PageCollection Διαχειρίζεται τις σελίδες του εγγράφου. πρόσβαση στις σελίδας με δείκτη 1 βάσει, Προσθήκη νέων σελίδων ή διαγραφή υφιστάμενων.
using var doc = Document.Open(pdfBytes);
// Access first page
var page = doc.Pages[1];
// Add a blank page
var newPage = doc.Pages.Add();
// Get page count
int count = doc.Pages.Count;Γεωμετρία σελίδων
Κάθε σελίδα καθορίζει διάφορα γραμμή. χρησιμοποιήστε τις μεθόδους setter στο Page Για να Τους προσαρμόζουμε.
var page = doc.Pages[1];
page.SetMediaBox(new Rectangle(0, 0, 612, 792));
page.SetCropBox(new Rectangle(36, 36, 576, 756));
page.SetRotation(90);Αποταμίευση εγγράφων
Αποθηκεύστε σε ένα δρομολόγιο αρχείων, μια ροή ή μια σειρά byte.
// Save to file
doc.Save("output.pdf");
// Save to stream
using var ms = new MemoryStream();
doc.Save(ms);Φιλιπποί προσθήκες
FileSpecification αντιπροσωπεύει ενσωματωμένα αρχεία συνημμένων σε ένα PDF.
var spec = new FileSpecification("data.csv", "Embedded data file");
doc.EmbeddedFiles.Add(spec);Φωτογραφίες Stamps
ImageStamp Τοποθετεί μια εικόνα ράστερ σε μια σελίδα σε συγκεκριμένη θέση.
var stamp = new ImageStamp("logo.png");
stamp.Put(doc.Pages[1]);
doc.Save("stamped.pdf");Συλλογή Επιχειρηματιών
OperatorCollection Σε κάθε σελίδα διατηρούνται οι φορείς εκμετάλλευσης πρώτων περιεχομένων. Ελέγχου ή χειραγώγησης περιεχομένου χαμηλού επιπέδου.
var ops = doc.Pages[1].Contents;
foreach (var op in ops)
{
// Inspect each operator
}Συμβουλές και βέλτιστες πρακτικές
- ΒΑΡΤΙ
DocumentΣε έναusingΗ δήλωση για την απελευθέρωση αρχείων λειτουργεί γρήγορα. - Χρησιμοποιήστε
Document.Open(byte[])για τις ροές εργασίας στη μνήμη, ώστε να αποφεύγονται τα προβλήματα κλεισίματος αρχείων. - Αλλαγή των σελίδων (MediaBox, CropBox) πριν προσθέσετε περιεχόμενο για να εξασφαλίσετε το σωστό χώρο συντονισμού.
- Κλήση
SaveΜόνο μία φορά μετά από όλες τις αλλαγές - επαναλαμβανόμενες αποταμιεύσεις είναι αργότερες αλλά ασφαλείς. - Χρησιμοποιήστε
PageCollection.Accept(AnnotationSelector)Η αναφορά του πακέτου σε όλες τις σελίδες.
κοινά ζητήματα
| Θέμα | Αιτία | ΦΙΛΕΞΗ |
|---|---|---|
Document.Open Πληροφορίες για το PDF | Το αρχείο κρυπτογραφείται με κωδικό πρόσβασης. | Εισάγετε το παράμετρο κωδικού πρόσβασης στον κατασκευαστή |
| Η αριθμητική σελίδα είναι 0 μετά την κατασκευή | Νέο Document() Ξεκινάει άδεια | Κλήση doc.Pages.Add() Προσθέστε μια λευκή σελίδα |
| Το αρχείο που αποθηκεύεται είναι μεγαλύτερο από το αναμενόμενο | Φωτογραφίες ή γραμματοσειρές ενσωματωμένες πολλές φορές | Χρησιμοποιήστε τη βελτιστοποίηση (βλέπε Οδηγός Μετατροπής και Βελτιστοποιημένης Χρήσης) |
Pages[0] Εισαγωγή σφάλματος index | Οι σελίδες είναι 1 βασισμένες, όχι 0 βασίζονται. | Χρησιμοποιήστε Pages[1] Για την πρώτη σελίδα |
FAQ
Πώς μπορώ να συγχωνεύσω δύο PDF έγγραφα;?
Χρησιμοποιήστε PdfFileEditor.Concatenate από το API Facades, ή χειροκίνητα αντιγράψτε τις σελίδες Από το ένα έγγραφο στο άλλο χρησιμοποιώντας PageCollection.
Μπορώ να ανοίξω ένα PDF από μια URL ή ροή;?
Διαβάστε το περιεχόμενο του URL σε ένα byte[] Πρώτα, μετά να το περάσει στο Document.Open(byte[]).
Πώς μπορώ να διαγράψω μια σελίδα;?
Κλήση doc.Pages.Delete(pageNumber) Που είναι pageNumber 1 βασίζεται.
Είναι το έγγραφο ασφαλές;?
Όχι, κάθε ράβδο πρέπει να λειτουργεί με το δικό του. Document Η περίπτωση.
Συνοπτική αναφορά API
| Κλάση / Μέθοδος | Περιγραφή |
|---|---|
Document | Ρύθμιση του αντικειμένου PDF, διατηρεί σελίδες, μεταδεδομένα και πεδία φόρμας |
Document.Open | Στατικό εργοστάσιο για να ανοίξετε ένα PDF από μια γραμμή byte |
Document.Save | Σειρά το έγγραφο σε ένα αρχείο ή ροή |
Page | Μοναδική σελίδα PDF με περιεχόμενο, αναφορές και γεωμετρία |
Page.SetMediaBox | Ορισμός του κουτιού μέσων ενημέρωσης σελίδας |
Page.SetCropBox | Ορισμός της ορατής περιοχής καλλιέργειας |
Page.SetRotation | Κάντε την σελίδα με 0, 90, 180 ή 270 μοίρες. |
PageCollection | Η συλλογή σελίδων σε ένα έγγραφο |
PageCollection.Add | Εισάγετε μια λευκή σελίδα |
OperatorCollection | Οι χειριστές ροής περιεχομένου για μια σελίδα |
FileSpecification | Εμπλοκή περιγραφής αρχείων |
ImageStamp | Φωτογραφία overlay stamp για σελίδες |
XFormCollection | Επαναχρησιμοποίηση φόρμας XObjects στο έγγραφο |