Przejdź do treści stopki
KORZYSTANIE Z IRONPDF

Jak przyciąć plik PDF w C#

Cropping and Trimming PDF Pages using IronPDF Library in C

Przycinanie i wycinanie stron PDF zawsze stanowi wyzwanie dla deweloperów w C#. Narysowanie obramowania wycinka wokół pożądanego obszaru w dokumencie PDF i zapisanie tylko tej części nie jest proste. Na szczęście istnieje rozwiązanie w bibliotece IronPDF dla .NET w C#.

Biblioteka IronPDF dla .NET

Biblioteka PDF IronPDF .NET to biblioteka C# .NET, która umożliwia deweloperom tworzenie, edytowanie i manipulowanie plikami PDF. Jest bardzo popularna wśród deweloperów C# ze względu na zdolność generowania plików PDF, co pozwala im pracować z plikami PDF bez zainstalowanego Adobe Acrobat. IronPDF dla .NET umożliwia również konwersję pomiędzy różnymi formatami jak Konwersja HTML do PDF, Konwersja URL do PDF i Konwersja obrazu do PDF.

Obsługuje również dodawanie Niestandardowych nagłówków i stopek, podpisów cyfrowych w PDF, adnotacji i dodawanie/usuwanie załączników z PDF, hasła użytkownika i właściciela oraz inne opcje zabezpieczeń. IronPDF posiada szybki silnik Chromium dla doskonałego doświadczenia renderowania. Dostarcza także pełne wsparcie dla wielowątkowości i asynchroniczne możliwości.

Wymagania wstępne

Przed rozpoczęciem należy pobrać i zainstalować Visual Studio 2022 (najnowsza wersja). Visual Studio jest niezbędne do budowania aplikacji w C#. Instalacja skonfiguruje środowisko .NET, po czym system lokalny będzie gotowy do stworzenia konwertera PDF do JPG. Visual Studio można pobrać na tej Stronie do pobrania Visual Studio.

Instalacja IronPDF

Istnieje kilka sposobów instalacji IronPDF:

  1. Możesz pobrać IronPDF z rozwiązania Menedżera pakietów NuGet w swoim projekcie C#, który jest tworzony przy użyciu Visual Studio. Uzyskaj dostęp do Menedżera pakietów NuGet przez Narzędzia lub poprzez kliknięcie prawym przyciskiem na Eksplorator rozwiązań. Wyszukaj pakiet IronPDF i zainstaluj go.
  2. Innym sposobem instalacji IronPDF jest bezpośrednie pobranie go ze strony NuGet IronPDF.

Crop PDF File using IronPDF in C

Oto krok po kroku proces, który pomoże Ci przyciąć stronę PDF. Nie jest to proste, ale możemy skorzystać z niektórych metod, aby osiągnąć ten cel. Zaczynamy!

Krok 1: Załaduj dokument PDF

Aby załadować plik PDF z lokalizacji lokalnej do tego projektu, IronPDF zapewnia metodę FromFile obecną w klasie PdfDocument. Poniższy przykład kodu demonstruje, jak otworzyć istniejący plik PDF:

// Load an existing PDF document from a file
PdfDocument pdf = PdfDocument.FromFile("Input.pdf");
// Load an existing PDF document from a file
PdfDocument pdf = PdfDocument.FromFile("Input.pdf");
' Load an existing PDF document from a file
Dim pdf As PdfDocument = PdfDocument.FromFile("Input.pdf")
$vbLabelText   $csharpLabel

Załadowany dokument wygląda następująco:

--IMG-489-BG--##Jak przyciąć plik PDF w C#, Rysunek 1: Przykładowy plik kodu kreskowego w PDF##--IMG-489-EG--

Przykładowy plik kodu kreskowego w PDF

Krok 2: Załaduj konkretną stronę z dokumentu PDF

Teraz, gdy plik jest otwarty do edycji, utwórz oddzielny obiekt PdfDocument i przechowaj konkretną stronę, którą należy przyciąć, używając metody CopyPage. Po prostu podaj indeks strony, którą należy przyciąć. Tutaj, przykład kodu przytnie pierwszą stronę dokumentu PDF.

// Copy the first page of the loaded PDF document
PdfDocument loadedPage = pdf.CopyPage(0);
// Copy the first page of the loaded PDF document
PdfDocument loadedPage = pdf.CopyPage(0);
' Copy the first page of the loaded PDF document
Dim loadedPage As PdfDocument = pdf.CopyPage(0)
$vbLabelText   $csharpLabel

Krok 3: Konwersja załadowanej strony PDF na obraz

Metoda Konwersja strony PDF na obraz o wysokiej rozdzielczości zapewnia możliwość zapisania strony PDF na plik obrazu o wysokiej jakości. Poniższy kod pomaga przekonwertować wybraną stronę na obraz do przycinania.

// Convert the PDF page to a high-resolution PNG image
loadedPage.RasterizeToImageFiles(@"C:\Image\Page_to_be_Cropped.png");
// Convert the PDF page to a high-resolution PNG image
loadedPage.RasterizeToImageFiles(@"C:\Image\Page_to_be_Cropped.png");
' Convert the PDF page to a high-resolution PNG image
loadedPage.RasterizeToImageFiles("C:\Image\Page_to_be_Cropped.png")
$vbLabelText   $csharpLabel

Teraz strona zostanie przekonwertowana na plik obrazu. Wynikiem jest wysokiej jakości obraz PNG.

--IMG-490-BG--##Jak przyciąć plik PDF w C#, Rysunek 2: Plik obrazu wyjściowego o wysokiej jakości##--IMG-490-EG--

Plik obrazu wyjściowego o wysokiej jakości

Teraz, konkretna strona jest oddzielona od oryginalnego dokumentu i gotowa do przycięcia.

Krok 4: Pobierz wymiary załadowanej strony

Aby przyciąć PDF, konieczne jest utworzenie obramowania wycinka o określonej szerokości i wysokości. W tym celu zostanie utworzony nowy dokument przy użyciu klasy ChromePdfRenderer. Daje ona możliwość dostosowania rozmiaru strony PDF zgodnie z potrzebami, a dane są równo podzielone na strony.

Przed utworzeniem ChromePdfRenderer, najpierw pobierz wymiary załadowanej strony z kroku 2. Następnie użyj tych wymiarów podczas ustawiania niestandardowego rozmiaru strony dla utworzenia obramowania wycinka. Poniższy przykład kodu pomoże Ci uzyskać szerokość i wysokość strony:

// Retrieve dimensions of the loaded PDF page
PdfPagesCollection pages = loadedPage.Pages;
PdfPage pdfPage = pages[0];

// Dimensions retrieved in mm
float width = pdfPage.Width;
float height = pdfPage.Height;
// Retrieve dimensions of the loaded PDF page
PdfPagesCollection pages = loadedPage.Pages;
PdfPage pdfPage = pages[0];

// Dimensions retrieved in mm
float width = pdfPage.Width;
float height = pdfPage.Height;
' Retrieve dimensions of the loaded PDF page
Dim pages As PdfPagesCollection = loadedPage.Pages
Dim pdfPage As PdfPage = pages(0)

' Dimensions retrieved in mm
Dim width As Single = pdfPage.Width
Dim height As Single = pdfPage.Height
$vbLabelText   $csharpLabel

Najpierw pobierz całkowitą liczbę stron w załadowanym pliku PDF używając PdfPagesCollection. Następnie przekaż tę stronę do instancji PdfPage, aby uzyskać wartości wymiarów strony z właściwości Width i Height strony. Gotowe! Teraz przejdźmy do następnego kroku, aby utworzyć niestandardowe obramowanie wycinka.

Krok 5: Ustaw niestandardowy rozmiar strony PDF

Poniższy kod pomoże utworzyć niestandardowy rozmiar papieru PDF, który będzie działał jako obramowanie wycinka, aby przyciąć zawartość w różnych segmentach strony.

// Create a ChromePdfRenderer to set up a custom paper size
ChromePdfRenderer pdfRenderer = new ChromePdfRenderer();
pdfRenderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Custom;
pdfRenderer.RenderingOptions.SetCustomPaperSizeInMillimeters(width, height / 4);
pdfRenderer.RenderingOptions.ForcePaperSize = true;
// Create a ChromePdfRenderer to set up a custom paper size
ChromePdfRenderer pdfRenderer = new ChromePdfRenderer();
pdfRenderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Custom;
pdfRenderer.RenderingOptions.SetCustomPaperSizeInMillimeters(width, height / 4);
pdfRenderer.RenderingOptions.ForcePaperSize = true;
' Create a ChromePdfRenderer to set up a custom paper size
Dim pdfRenderer As New ChromePdfRenderer()
pdfRenderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Custom
'INSTANT VB WARNING: Instant VB cannot determine whether both operands of this division are integer types - if they are then you should use the VB integer division operator:
pdfRenderer.RenderingOptions.SetCustomPaperSizeInMillimeters(width, height / 4)
pdfRenderer.RenderingOptions.ForcePaperSize = True
$vbLabelText   $csharpLabel

W powyższym kodzie utworzono ChromePdfRenderer, który jest używany do utworzenia nowego dokumentu PDF. Następnie wartość właściwości PdfPaperSize jest ustawiana na Custom. Na koniec ustawiany jest niestandardowy margines strony, używając wymiarów pobranych w kroku 4.

Ustaw szerokość na oryginalną szerokość strony i zmniejsz wysokość o 1/4 długości oryginalnej strony. To sprawia, że strona działa jako prostokątne pole mediowe dla zawartości.

Uwaga: Możesz użyć ForcePaperSize = true, aby upewnić się, że niestandardowy rozmiar został zastosowany. Do ustalania niestandardowych marginesów, odwiedź ten Przewodnik dostosowywania marginesów PDF.

Krok 6: Utwórz nowy dokument za pomocą HTML

Teraz, ten ostatni krok pozwoli utworzyć nowy dokument z użyciem niestandardowego rozmiaru strony PDF i obrazu zapisanego z załadowanej strony.

// Render HTML to a PDF document with a custom paper size using the cropped image
var croppedPdf = pdfRenderer.RenderHtmlAsPdf("<img src='Page_to_be_Cropped.png'/>", @"C:\Image\");
// Render HTML to a PDF document with a custom paper size using the cropped image
var croppedPdf = pdfRenderer.RenderHtmlAsPdf("<img src='Page_to_be_Cropped.png'/>", @"C:\Image\");
' Render HTML to a PDF document with a custom paper size using the cropped image
Dim croppedPdf = pdfRenderer.RenderHtmlAsPdf("<img src='Page_to_be_Cropped.png'/>", "C:\Image\")
$vbLabelText   $csharpLabel

Teraz zapiszmy dokument używając metody SaveAs.

// Save the newly cropped document
croppedPdf.SaveAs("Cropped.pdf");
// Save the newly cropped document
croppedPdf.SaveAs("Cropped.pdf");
' Save the newly cropped document
croppedPdf.SaveAs("Cropped.pdf")
$vbLabelText   $csharpLabel

Wynik

--IMG-491-BG--##Jak przyciąć plik PDF w C#, Rysunek 3: Przycięty plik PDF##--IMG-491-EG--

Przycięty plik PDF

Z wyniku można zobaczyć, że jeden obraz jest teraz podzielony na kilka stron z utworzonym niestandardowym polem wycinka. Możesz skopiować konkretną stronę, której potrzebujesz, używając poniższego kodu:

// Copy and save a specific page from the cropped document
croppedPdf.CopyPage(1).SaveAs("Cropped_Page1.pdf");
// Copy and save a specific page from the cropped document
croppedPdf.CopyPage(1).SaveAs("Cropped_Page1.pdf");
' Copy and save a specific page from the cropped document
croppedPdf.CopyPage(1).SaveAs("Cropped_Page1.pdf")
$vbLabelText   $csharpLabel

Wnioski

Ten artykuł pokazał, jak przycinać dokumenty PDF przez utworzenie wirtualnego prostokątnego obramowania wycinka w kategoriach stron używając IronPDF dla .NET Framework. Metoda RasterizeToImageFiles pomaga w konwersji strony na obraz, który jest następnie używany do utworzenia dokumentu PDF o idealnym dopasowaniu do pikseli.

IronPDF dostarcza również inne narzędzia PDF, które mogą obracać strony PDF, zmieniać tekst PDF, ustawiać marginesy, formatować PDF-y, konwertować je i więcej. Aby dowiedzieć się więcej o IronPDF dla .NET oraz uzyskać dostęp do dodatkowych funkcji do Manipulowania plikami PDF za pomocą IronPDF lub jak Dostosować rozmiar papieru PDF.

Biblioteka IronPDF dla .NET jest darmowa w czasie programowania, ale trzeba ją licencjonować do użytku komercyjnego. Pobierz potężną bibliotekę IronPDF dla .NET z tego IronPDF ZIP do pobrania i spróbuj!

Często Zadawane Pytania

Jak przyciąć stronę PDF w języku C# bez utraty formatowania?

Możesz użyć IronPDF do przycięcia strony PDF w C#, ładując dokument PDF, konwertując wybraną stronę na obraz o wysokiej rozdzielczości i wykorzystując wymiary obrazu do ustawienia ramki przycinania za pomocą klasy `ChromePdfRenderer`. Pozwala to na renderowanie przyciętego pliku PDF bez utraty formatowania.

Jakie kroki trzeba wykonać, żeby przyciąć plik PDF w języku C#?

Aby przyciąć plik PDF za pomocą języka C#, należy najpierw załadować plik PDF za pomocą `PdfDocument.FromFile`, wyodrębnić konkretną stronę, którą chcesz przyciąć, przekonwertować ją na obraz za pomocą `RasterizeToImageFiles`, a następnie użyć `ChromePdfRenderer`, aby zastosować ramkę przycinania i wyrenderować ostateczną przyciętą stronę PDF.

Czy mogę używać IronPDF do konwersji HTML na PDF?

Tak, IronPDF umożliwia konwersję HTML do PDF przy użyciu metod takich jak `RenderHtmlAsPdf` dla ciągów HTML oraz `RenderHtmlFileAsPdf` dla plików HTML. Jest to przydatne do generowania plików PDF ze stron internetowych lub treści HTML.

Czy potrzebuję jakiegoś konkretnego oprogramowania, aby korzystać z IronPDF do edycji plików PDF?

Aby korzystać z IronPDF, należy zainstalować Visual Studio 2022 w celu skonfigurowania środowiska .NET niezbędnego dla aplikacji C#. Konieczne jest również zainstalowanie IronPDF za pośrednictwem menedżera pakietów NuGet.

Czy za pomocą IronPDF można dodawać podpisy cyfrowe do plików PDF?

Tak, IronPDF obsługuje dodawanie podpisów cyfrowych do plików PDF, co zwiększa bezpieczeństwo i autentyczność dokumentów. Ta funkcja jest częścią szerokiego zakresu możliwości biblioteki w zakresie obróbki plików PDF.

Jakie są wskazówki dotyczące rozwiązywania problemów związanych z używaniem IronPDF w języku C#?

Jeśli napotkasz problemy z IronPDF, upewnij się, że wszystkie zależności są poprawnie zainstalowane za pośrednictwem NuGet, sprawdź, czy Środowisko Visual Studio jest skonfigurowane do programowania w .NET, oraz zapoznaj się z oficjalną dokumentacją IronPDF, aby uzyskać wskazówki dotyczące konkretnych metod i klas.

Jaki jest cel użycia klasy `ChromePdfRenderer` w IronPDF?

Klasa `ChromePdfRenderer` w IronPDF służy do renderowania dokumentów PDF przy użyciu określonych konfiguracji, takich jak ustawianie rozmiarów stron i obszarów przycięcia. Jest to szczególnie przydatne, gdy trzeba dostosować wygląd lub wymiary wyjściowego pliku PDF.

Jak mogę zapewnić bezpieczeństwo moich plików PDF podczas korzystania z IronPDF?

IronPDF pozwala zwiększyć bezpieczeństwo plików PDF poprzez dodanie haseł użytkownika i właściciela, a także stosowanie podpisów cyfrowych. Funkcje te pomagają chronić dokumenty przed nieautoryzowanym dostępem i zmianami.

Czy IronPDF jest w pełni kompatybilny z .NET 10 i jakie korzyści daje to przy przycinaniu plików PDF w języku C#?

Tak, IronPDF jest w pełni kompatybilny z .NET 10. Obsługuje .NET 10 na wszystkich głównych platformach, co przynosi korzyści dla operacji związanych z plikami PDF, takich jak renderowanie, kadrowanie, przetwarzanie obrazów i inne, dzięki zwiększonej wydajności, lepszemu wykorzystaniu pamięci oraz nowszym funkcjom języka C#.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie