Τοποθετήσεις εικόνων

Εισαγωγή

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

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

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

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

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

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

using System.IO;
using Aspose.Pdf;
using System;
using System.Drawing;

Αυτά τα πακέτα σάς επιτρέπουν να εργάζεστε με αρχεία PDF (Aspose.Pdf), χειρισμός τοποθετήσεων εικόνων (Aspose.Pdf.ImagePlacement), και χειρίζεται ροές εικόνων και γραφικά (System.Drawing καιSystem.IO).

Τώρα που έχουμε τις προϋποθέσεις και τα πακέτα, ας αναλύσουμε κάθε μέρος του σεμιναρίου σε έναν απλό, εύκολο στην παρακολούθηση οδηγό.

Βήμα 1: Φορτώστε το έγγραφο PDF

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

string dataDir = "YOUR DOCUMENT DIRECTORY"; 
Aspose.Pdf.Document doc = new Aspose.Pdf.Document(dataDir + "ImagePlacement.pdf");

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

Βήμα 2: Εκκινήστε το Image Placement Absorber

Για να εξαγάγουμε τις εικόνες, χρειαζόμαστε κάτι που ονομάζεται “Image Placement Absorber”. Σκεφτείτε το σαν ένα εργαλείο που απορροφά όλες τις πληροφορίες εικόνας σε μια συγκεκριμένη σελίδα.

ImagePlacementAbsorber abs = new ImagePlacementAbsorber();

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

Βήμα 3: Αποδεχτείτε τον απορροφητή στην πρώτη σελίδα

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

doc.Pages[1].Accept(abs);

ΟAccept μέθοδος σαρώνει την πρώτη σελίδα του εγγράφου PDF για τυχόν εικόνες και αποθηκεύει τα αποτελέσματα μέσα στοImagePlacementAbsorberΕίναι σαν να λες στον μεγεθυντικό φακό πού να ψάξει για εικόνες.

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

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

foreach (ImagePlacement imagePlacement in abs.ImagePlacements)
{
    Console.Out.WriteLine("image width:" + imagePlacement.Rectangle.Width);
    Console.Out.WriteLine("image height:" + imagePlacement.Rectangle.Height);
    Console.Out.WriteLine("image LLX:" + imagePlacement.Rectangle.LLX);
    Console.Out.WriteLine("image LLY:" + imagePlacement.Rectangle.LLY);
    Console.Out.WriteLine("image horizontal resolution:" + imagePlacement.Resolution.X);
    Console.Out.WriteLine("image vertical resolution:" + imagePlacement.Resolution.Y);
}

Αυτός ο βρόχος περνά από κάθε εικόνα που βρίσκεται στη σελίδα. Εκτυπώνουμε το πλάτος, το ύψος, το x κάτω αριστερά (LLX), το κάτω αριστερό y (LLY) και την ανάλυση της εικόνας (τόσο οριζόντια όσο και κάθετη). Αυτές οι λεπτομέρειες σάς βοηθούν να κατανοήσετε το μέγεθος και τη θέση κάθε εικόνας μέσα στο PDF.

Βήμα 5: Εξαγωγή της εικόνας με ορατές διαστάσεις

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

Bitmap scaledImage;
using (MemoryStream imageStream = new MemoryStream())
{
    imagePlacement.Image.Save(imageStream, System.Drawing.Imaging.ImageFormat.Png);
    Bitmap resourceImage = (Bitmap)Bitmap.FromStream(imageStream);
    scaledImage = new Bitmap(resourceImage, (int)imagePlacement.Rectangle.Width, (int)imagePlacement.Rectangle.Height);
}

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

Σύναψη

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

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

Μπορώ να εξαγάγω εικόνες από μια συγκεκριμένη σελίδα του PDF;

Ναι, καθορίζοντας τον αριθμό σελίδας όταν χρησιμοποιείτε τοAccept μέθοδο, μπορείτε να εστιάσετε σε οποιαδήποτε συγκεκριμένη σελίδα.

Ποιες μορφές εικόνας υποστηρίζονται για εξαγωγή;

Το Aspose.PDF υποστηρίζει διάφορες μορφές, συμπεριλαμβανομένων των PNG, JPEG, BMP και άλλων.

Είναι δυνατός ο χειρισμός της εξαγόμενης εικόνας;

Απολύτως! Μόλις εξαχθεί, μπορείτε να χρησιμοποιήσετε τοSystem.Drawing namespace για να χειριστείτε την εικόνα.

Μπορώ να εξαγάγω εικόνες από αρχεία PDF που προστατεύονται με κωδικό πρόσβασης;

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

Λειτουργεί το Aspose.PDF για .NET σε όλα τα πλαίσια .NET;

Ναι, υποστηρίζει .NET Framework, .NET Core και .NET 5 και νεότερη έκδοση.