2010-01-26 13 views
11

Mam wymóg, aby móc generować pliki PDF w naszej aplikacji (ASP.net). Musimy spełnić następujące wymagania:Dynamiczne generowanie PDF z szablonu

  1. Tekst będzie w dużej mierze dynamiczny i musi zostać dodany programowo.

  2. Idealnie chcielibyśmy oprzeć te wygenerowane dokumenty na szablonach PDF dostarczonych przez naszych projektantów.

  3. Niektóre sekcje/strony mogą, lecz nie muszą być widoczne, zależnie od pewnych warunków - najlepiej, jeśli treść będzie "płynąć" w górę, aby wypełnić przestrzeń, gdy coś zostanie usunięte.

  4. Niektóre strony mogą wymagać powtórzenia, w zależności od pewnych warunków.

  5. Niektóre szablony PDF będą poza naszą kontrolą (wypełniamy formularze zgłoszeniowe dostarczone przez strony trzecie), więc możliwość czytania w pustym pliku PDF i wypełniania go będzie dobra.

Szukałem w iTextSharp i wydaje się zrobić większość tych rzeczy (tzn mogę wziąć PDF, edytować je w celu włączenia pól formularza, gdzie należy wypełnić dane, a następnie użyć iTextSharp czytać, że w jako szablon i zapełnianie danych), nie jestem jednak pewien, w jaki sposób należy przejść do potencjalnego ukrywania całych sekcji i/lub powtarzających się stron.

To, czego szukam, to mała rada od każdego, kto znalazł się w podobnej sytuacji.


Mała aktualizacja tutaj, poszliśmy z iTextSharp - to potężne narzędzie, ale bierze trochę nauki, ale to szybki, lekki i robi dokładnie to, co chcemy zrobić.

Jednak ...

Chciałbym podkreślić, że najnowsza wersja nie jest już naprawdę za darmo (jak piwo) - licencja nie zezwala na wykorzystanie komercyjne. W rezultacie mamy teraz wersję licencjonowaną, ale nie jest ona szokująco tania (i nie publikuje cennika).

+0

Zobacz to [artykuł] (http://www.nopcommerce.com/boards/t/15568/feature-request-template-based-reporting-system.aspx) na raportach opartych na szablonach. To jest konwerter [html na pdf] (http://www.hiqpdf.com), o którym mówią. –

Odpowiedz

5

Używałbym iTextSharp. Tworzę wszystkie rodzaje plików PDF na podstawie różnych szablonów i iText działa najlepiej dla mnie. Jest to bardzo potężna kontrola i może manipulować plikami pdf w jakikolwiek sposób.

Nie jestem pewien, czy iText poradzi sobie z trzecim wymaganiem. Wiem, że może utworzyć plik PDF z pliku HTML. Może wykorzystaj to, co napisał Tomas, i utwórz plik pdf z iText.

+0

iTextSharp nie stosuje CSS ... Chcę zrobić tabelę z ramką, ale to nie działa .... Również kolor tła , nie działa ... –

5

Dostępne są różne komercyjne komponenty. Zobacz: PDFLib (http://www.pdflib.com/), Tall Components() itp.

Używam produktów z wysokich komponentów i mogę je polecić.

Niektóre inne są o wiele droższe.

ITextSharp, o którym wspomniałeś, jest całkiem niezły i można go używać do dodawania/usuwania zewnętrznych stron, w tym można ukryć pełne strony, usuwając je lub zastępując je stronami zastępczymi. iText może wykorzystywać istniejące pliki PDF lub tworzyć puste strony.

Z mojego osobistego doświadczenia właśnie dodałem obrazy i tekst do istniejących stron i dodałem strony wygenerowane przez narzędzie raportowania, gdy wymagane są dane tabelaryczne.

HTH

+0

Mmm. Ale jeśli zawartość do ukrycia jest częścią strony, staje się to nieco trudniejsze. – Paddy

+0

Możesz dodać stronę, która nie zawiera tej sekcji, a następnie programowo dostosować kolejną stronę (lub obie), a następnie ją zastąpić, gdy zajdzie taka potrzeba? –

0

uznałbym za pomocą tworzenia plików HTML z szablonów i przekształcić je w formacie PDF z Prince.Książę jest bardzo elastyczny, a tworzenie plików HTML z szablonów jest znacznie łatwiejsze niż bezpośrednie tworzenie plików PDF.

+1

Obecnie robimy coś takiego (przy użyciu activePDF) i jest to trochę powolne. – Paddy

+0

'Oferujemy bezpłatną licencję na niekomercyjne wykorzystanie Prince'a. Ta licencja dodaje małe logo do pierwszej strony wygenerowanych plików PDF. " – Thomas

2

Dlaczego potrzebne są pliki szablonów w formacie pdf? Przy odpowiedniej dynamice szablon raportu jest złym formatem. Użyj oprogramowania do raportowania, które również generuje plik PDF. Twoi projektanci mogą bardzo łatwo tworzyć szablony za pomocą graficznego interfejsu użytkownika. Znajdziesz tutaj wiele rozwiązań do raportowania na stackoverflow.

1

Użyliśmy http://www.dynamicpdf.com/, do projektów takich jak ten i byliśmy zadowoleni z wyniku. Mają narzędzie do projektowania WYSIWYG PDF, które można wykorzystać do stworzenia szablonu układu pliku PDF, a także narzędzia do scalenia szablonu z danymi na podstawie mapowania pola na kolumnę. Oszczędza to godziny ręcznego kodowania każdego elementu danego pliku PDF. Obsługuje nagłówki i stopki stron oraz zajmuje się zawiłościami podziałów strony.

+0

to nie jest darmowe – luka

Powiązane problemy