Képelhelyezések
Bevezetés
PDF-fájlokban lévő képekkel való munka trükkös lehet, de az Aspose.PDF for .NET segítségével könnyedén manipulálhatja és kivonhatja a kép tulajdonságait anélkül, hogy izzadna. Akár képméreteket szeretne lekérni, akár ki szeretné bontani őket, vagy más tulajdonságokat, például felbontást szeretne lekérni, az Aspose.PDF rendelkezik a szükséges eszközökkel. Ez az oktatóanyag lépésről lépésre végigvezeti Önt egy PDF-dokumentumban lévő képelhelyezések kibontásához az Aspose.PDF for .NET használatával. A csomagok importálásától a képtulajdonságok, például a szélesség, magasság és felbontás lekéréséig mindenre kiterjedünk.
Előfeltételek
Mielőtt belevágnánk az oktatóanyagba, néhány dolgot meg kell tennie. Íme egy gyors ellenőrző lista:
- Aspose.PDF for .NET: Győződjön meg arról, hogy telepítette az Aspose.PDF for .NET könyvtárat. Letölthetiitt.
- Fejlesztési környezet: A Visual Studio vagy bármely más .NET által támogatott IDE telepítve kell lennie a gépére.
- PDF-dokumentum: Készítsen PDF-mintát, amely képeket tartalmaz. Ebben a példában egy nevű fájlt fogunk használni
ImagePlacement.pdf
. - Alapvető C#-ismeretek: Bár ez az útmutató kezdők számára készült, a C# alapvető ismeretei segítenek jobban megérteni a kódrészleteket.
Csomagok importálása
Mielőtt belevágnánk a kód apró részleteibe, az első dolog, amit meg kell tennie, hogy importálja a szükséges névtereket. Ezek a csomagok elengedhetetlenek a PDF-dokumentumokkal való munkavégzéshez és a képkezeléshez az Aspose.PDF for .NET-ben.
using System.IO;
using Aspose.Pdf;
using System;
using System.Drawing;
Ezekkel a csomagokkal PDF-ekkel dolgozhat (Aspose.Pdf
), manipulálja a képelhelyezéseket (Aspose.Pdf.ImagePlacement
), és kezeli a képfolyamokat és a grafikákat (System.Drawing
ésSystem.IO
).
Most, hogy megvannak az előfeltételek és a csomagok, bontsuk le az oktatóanyag minden részét egy egyszerű, könnyen követhető útmutatóban.
1. lépés: Töltse be a PDF-dokumentumot
Az első lépés a PDF dokumentum betöltése a projektbe. Ez lesz a PDF-fájlon belüli képekkel való munka alapja.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Aspose.Pdf.Document doc = new Aspose.Pdf.Document(dataDir + "ImagePlacement.pdf");
Ebben a lépésben meghatározzuk a PDF-dokumentum fájl elérési útjátdataDir
majd létrehoz egy új példányt aAspose.Pdf.Document
osztály. Ez lehetővé teszi, hogy a PDF fájlt betöltsük programunkba. Egyszerű, igaz? Csakúgy, mint amikor kinyitunk egy könyvet az olvasás megkezdéséhez, most készen állunk a tartalom felfedezésére.
2. lépés: Inicializálja az Image Placement Absorbert
A képek kinyeréséhez szükségünk van valami úgynevezett “Képelhelyezés-elnyelőre”. Gondoljon rá, mint egy olyan eszközre, amely elnyeli az összes képinformációt egy adott oldalon.
ImagePlacementAbsorber abs = new ImagePlacementAbsorber();
Itt egy példányt hozunk létreImagePlacementAbsorber
. Ez az objektum információkat gyűjt és tárol az összes képelhelyezésről egy adott PDF-oldalon. Képzeld el, mintha nagyítóval szkennelnél egy oldalt, és azonosítanád az összes rajta lévő képet!
3. lépés: Fogadja el az Absorbert az első oldalon
Ezután meg kell mondanunk az elnyelőnek, hogy a PDF melyik oldalát kell beolvasni. Ebben a példában az első oldalra fogunk összpontosítani.
doc.Pages[1].Accept(abs);
AAccept
metódus beszkenneli a PDF-dokumentum első oldalát az esetleges képekért, és az eredményeket a dokumentumban tároljaImagePlacementAbsorber
Ez olyan, mintha megmondaná a nagyítónak, hogy hol keressen képeket.
4. lépés: Hurok át minden képelhelyezésen
Most, hogy beszkenneltük az oldalt, végig kell lapoznunk az oldalon talált képeket, és le kell kérnünk a tulajdonságait.
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);
}
Ez a hurok végigmegy az oldalon található összes képen. Kinyomtatjuk a kép szélességét, magasságát, bal alsó x (LLX), bal alsó y (LLY) értékét, valamint a kép felbontását (vízszintes és függőleges). Ezek a részletek segítenek megérteni az egyes képek méretét és elhelyezkedését a PDF-ben.
5. lépés: Bontsa ki a képet látható méretekkel
Miután összegyűjtötte az információkat a képekről, érdemes kivonatolni a tényleges képet a méreteivel együtt. Így teheti meg.
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);
}
Ez a kódrészlet lekéri a képet a PDF-ből, és átméretezi azt a tényleges méretekre, amint azt aImagePlacement
objektum. A kép memóriafolyamba mentésével és méretezésével biztosítja, hogy a kivonatolt kép pontosan a PDF-ben megjelenített méretben maradjon.
Következtetés
képelhelyezések kinyerése egy PDF-dokumentumból az Aspose.PDF for .NET használatával nagyon egyszerű, ha lépésről lépésre lebontja. A PDF betöltésétől a kép tulajdonságainak lekéréséig és a képek tényleges méretekkel való kibontásáig mindenre kiterjedtünk. Az Aspose.PDF hihetetlenül egyszerűvé teszi a PDF-ekkel való munkát és a tartalomkezelést, lehetővé téve a hatékony munkavégzést képekkel, szöveggel és még sok mással.
GYIK
Kivonhatok képeket a PDF egy adott oldaláról?
Igen, az oldalszám megadásával aAccept
módszerrel bármelyik oldalra összpontosíthat.
Milyen képformátumok támogatottak a kinyeréshez?
Az Aspose.PDF különféle formátumokat támogat, beleértve a PNG, JPEG, BMP és még sok más formátumot.
Lehetséges-e manipulálni a kivont képet?
Teljesen! A kibontás után használhatja aSystem.Drawing
névtér a kép manipulálásához.
Kivonhatok képeket jelszóval védett PDF-ekből?
Igen, megteheti, de a képek kibontása előtt fel kell oldania a PDF zárolását a megfelelő hitelesítő adatokkal.
Az Aspose.PDF for .NET minden .NET-keretrendszeren működik?
Igen, támogatja a .NET-keretrendszert, a .NET Core-t, valamint a .NET 5-ös és újabb verzióit.