Tworzenie plików PDF w czasie wykonywania w języku C # [zamknięte]

83

Czy istnieje biblioteka PDF dołączona /, którą można dołączyć do .NET 3.5, która umożliwia tworzenie plików PDF w czasie wykonywania, tj. Otwieranie nowego pliku PDF, zapisywanie do niego wiersz po wierszu, osadzanie obrazów itp. I zamykanie pliku PDF w kodzie C # ?

To, czego chcę, to zestaw narzędzi i specyfikacji, które pozwolą mi zaimplementować dostosowany moduł zapisujący PDF w C # bez korzystania z opcji wyjścia PDF usług Reporting Services.

Lonzo
źródło

Odpowiedzi:

39

iTextSharp http://itextsharp.sourceforge.net/

Złożone, ale wszechstronne.

itext7 dawniej iTextSharp

ine
źródło
2
Wow, opublikowałem iw ciągu 60 sekund są trzy inne zalecenia dotyczące tego samego! Myślę, że jest popularny.
ine
4
Bardzo popularne - trochę żmudna praca z IMO, ale można uzyskać niezłe rezultaty. I to za darmo.
Knobloch
3
nowy link do źródła: sourceforge.net/projects/itextsharp
travis
4
To nie są darmowe! Gdzie to jest napisane?
Fandango68
2
Wersja AGPL jest bezpłatna. Ale to już nie najlepsza odpowiedź.
aggsol
117

iTextSharp nie jest już licencjonowany w ramach licencji MIT / LGPL. Wersje nowsze niż 4.1.6 są objęte licencją Affero GPL, co oznacza, że ​​nie można ich nawet używać w scenariuszu SaaS (oprogramowanie jako usługa) bez licencjonowania swojego kodu na warunkach GPL lub licencji zgodnej z GPL.

Inne implementacje Open Source PDF w natywnym .NET obejmują

Istnieje również kilka bibliotek Java PDF (takich jak PDFBox), które można przekonwertować na .NET za pomocą IKVM.

Ciemny feniks
źródło
29
+1 za odniesienie się do zmiany licencji. Teraz musisz nauczyć się nowej biblioteki PDF ...
Mayo
1
Gdziekolwiek, gdzie nadal można pobrać wersję 4.1.6 programu iTextSharp? Czy są jakieś problemy, dla których nie należy pobierać tej starszej wersji?
Rasto,
1
@drasto Znalazłem to przez Google: github.com/itextsharper/iTextSharp-4.1.6 Ponadto wydaje się, że możesz pobrać starsze wersje za pośrednictwem NuGet. Nie potwierdziłem tego.
darkphoenix
32

Spójrz na PDFSharp

Jest open source i jest napisany w .NET, używam go sam do generowania faktur PDF.

Taner Gedikoğlu
źródło
7
PDFsharp jest wydawany na licencji MIT . (Bardzo pobłażliwe)
bretddog 13.11.11
PDFSharp (MigraDoc) był bardzo łatwy do rozpoczęcia. W ciągu godziny lub dwóch otrzymałem wynik, którego oczekiwałem.
Chuck Savage,
Chłopaki, czy PDFSharp umożliwia tworzenie formularzy PDF, aby użytkownicy mogli wprowadzać dane bezpośrednio do pól formularza i przesyłać je do nas e-mailem? Nie widziałem czegoś takiego na stronie ich funkcji, ale mówiło o ograniczonej obsłudze AcroForm. Co to jest AcroForm? To samo?
Fandango68
Czy ten projekt nie jest obecnie obsługiwany?
Johnny_D
Ten przykład pokazuje, jak utworzyć nowy dokument z dwóch istniejących plików PDF. pdfsharp.com/PDFsharp/…
Andrei Krasutski
4

Cóż, za darmo i nie za darmo, używam komponentu WebSuperGoo ABCpdf .NET , po prostu go uwielbiam!

nie za darmo, bo trzeba za to zapłacić.

za darmo, ponieważ nawet jeśli musisz zapłacić, mają wersję próbną i możesz poprosić o bezpłatną licencję, jeśli nie masz nic przeciwko temu, że w swojej witrynie pokaż „Ta witryna korzysta z komponentu WebSuperGoo ABCpdf .NET” z linkiem do ich strony internetowej.

Zrobiłem to i dostałem darmową licencję (wersja 5 w tamtym czasie), więc mogę powiedzieć, że działa (nawet jeśli strona nie jest już online) - nadal mam i używam komponentu ~ :)

Cudowną rzeczą, która mi się podoba, jest to, że możesz zrobić wszystko, co możesz z tym zrobić, tworzyć formularze PDF i dynamicznie je wypełniać i wysyłać do użytkownika pocztą lub zlecać im pobranie, utworzenie pliku PDF od podstaw, konwersję HTML stron do formatu PDF itp. itd., przeczytaj dokumentację, jest to wspaniały element.

balexandre
źródło
2

Gorąco polecam: iTextSharp

Przemek
źródło
13
To jest duplikat sugestii
epotter
3
@epotter Przepraszamy za spóźnioną odpowiedź, ale faktem jest, że prawie wszyscy, którzy zasugerowali iTextSharp, zrobili to w ciągu minuty
Przemek
3
Tak, ale nie jest to już najlepszy wybór ze względu na koszty. To już nie jest darmowe
Fandango68
1

Bibliotekę Docotic.Pdf można łatwo wykorzystać do tworzenia plików PDF w czasie wykonywania. Biblioteka może również modyfikować istniejące dokumenty PDF (wyodrębniać tekst / obrazy, dołączać strony, wypełniać pola formularzy itp.)

Przykłady typowych zadań dostępne są w witrynie biblioteki.

Zastrzeżenie: pracuję dla Bit Miracle.

Bobrovsky
źródło
0

W tym celu przyjrzałem się uruchomieniu aplikacji LaTeX w celu wygenerowania pliku PDF. Chociaż ta opcja może być znacznie bardziej skomplikowana i ciężka niż te wymienione tutaj.

Simon P
źródło
0

W tym celu można również użyć programu Amyuni PDF Converter .Net . Pozwoli także na modyfikowanie istniejących plików, stosowanie do nich OCR i wyodrębnianie tekstu, tworzenie obrazów rastrowych (na przykład do generowania miniatur), optymalizowanie wyjściowego pliku PDF do przeglądania w Internecie itp.

Obowiązuje zwykłe wyłączenie odpowiedzialności.

yms
źródło
0

Istnieje nowy projekt, RazorPDF, którego można używać z ASP.NET MVC. Jest dostępny jako pakiet nuget (wyszukaj RazorPDF).

Tutaj jest więcej informacji: http://nyveldt.com/blog/post/Introducing-RazorPDF

WAŻNA AKTUALIZACJA, jak wskazał @DenNukem, zależy to od iTextsharp, zapomniałem edytować odpowiedź, gdy się dowiedziałem (kiedy próbowałem jej użyć), więc jeśli twój projekt nie jest open source i kwalifikuje się do ich licencji AGPL, prawdopodobnie będzie być zbyt drogie w użyciu.

Goran Obradovic
źródło
3
Ostrzeżenie: zależy od iTextsharp, który jest komponentem AGPL i wymaga nieujawnionej licencji komercyjnej do używania bez ograniczeń AGPL.
DenNukem
2
Tak, i poprosiłem o wycenę iTextsharp dla jednego serwera, prawie 2000 $, więc to nie jest możliwe :(
Goran Obradovic
1
Dzięki za ustalenie ceny, oszczędza mi trochę czasu. Skłaniam się teraz ku PDFJet, ponieważ ich darmowa wersja wydaje się na razie odpowiadać moim potrzebom.
DenNukem,
RazorPDF będzie współpracować z iTextSharp w wersji LGPL, wystarczy użyć pakietu NuGet nuget.org/packages/iTextSharp-LGPL
Toft
-1

A co z iTextSharp ?

iText to biblioteka generująca pliki PDF (między innymi), która jest również przenoszona (i synchronizowana) do języka C #.

Francisco Canedo
źródło
1
duplikat sugestii
żywo 2