AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

mehrseitige PowerPDF-Datein mit Kompression

Ein Thema von ereetzer · begonnen am 15. Mär 2013 · letzter Beitrag vom 16. Mär 2013
Antwort Antwort
ereetzer

Registriert seit: 21. Mär 2003
86 Beiträge
 
Delphi XE Starter
 
#1

mehrseitige PowerPDF-Datein mit Kompression

  Alt 15. Mär 2013, 18:01
Delphi-Version: 5
ich erzeuge mittels dieser Komponente mehrseitige PDF-Dateien.

Falls jemand anderes auch diese Komponente benutzt: wie kann man diese dazu überreden, die Dateien zu komprimieren, die Eigenschaft
CompressionMethod zeigt mir ständig nur cmNone an, sprich keine andere Auswahlmöglichkeit.
Die Dateigröße der erzeugten Dateien gefäält mir nicht so recht.

Danke
ereetzer

Geändert von ereetzer (15. Mär 2013 um 18:21 Uhr)
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: mehrseitige PowerPDF-Datein mit Kompression

  Alt 15. Mär 2013, 18:24
// {$define nozlib}
  Mit Zitat antworten Zitat
ereetzer

Registriert seit: 21. Mär 2003
86 Beiträge
 
Delphi XE Starter
 
#3

AW: mehrseitige PowerPDF-Datein mit Kompression

  Alt 15. Mär 2013, 18:40
Danke für die Antwort,

leider ändert das nichts. Weder an der Dateigröße noch an der Möglichkeit cmFlatDecode auszuwählen zu können etwas.

Sprich: es hat leider rein gar nicht "erkennbares" bewirkt.
Ich find 1,2mb für 2 Seiten einfach zu viel !!, zumal diese nicht sehr anspruchsvoll gestaltet sind.

Gruß
ereetzer
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: mehrseitige PowerPDF-Datein mit Kompression

  Alt 15. Mär 2013, 18:56
Das gibt’s doch nicht.

if use "FlateDecode" compression, comment out the next line (this unit and PdfDoc.pas)
{$DEFINE NOZLIB}

Bei mir geht's. Und wie du schon sagst, das macht enorm was aus.

Gruß
Thomas
  Mit Zitat antworten Zitat
ereetzer

Registriert seit: 21. Mär 2003
86 Beiträge
 
Delphi XE Starter
 
#5

AW: mehrseitige PowerPDF-Datein mit Kompression

  Alt 16. Mär 2013, 07:08
hab jetzt alles powerPDF deinstalliert und neu kompiliert. Jetzt kann ich FlateDecode auswählen. Nur an der Dateigröße ändert sich nichts, ob ich´s auswähle oder nicht.
Die Datei bleibt 1.18 mb gross. Hmm, das ist unschön.

Hast Du sonst noch eine Idee? Ich scanne 2 Seiten ein und speicher die als pdf. Wenn ic hdie erzeugt Datei nochmal auf einem pdf-Drucker "ausdrucke" wird Sie nochmal 25% kleiner.
Das ist aber keine Lösung auf Dauer

ereetzer
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: mehrseitige PowerPDF-Datein mit Kompression

  Alt 16. Mär 2013, 07:38
Um PDF's mit gescannten Bilder kleiner zu bekommen müsste die Komponente die Bitmaps(?) auf JPEG/JPEG2000 mit kleinerer DPI-Auflösung wandeln können. Ob das die Komponente kann?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: mehrseitige PowerPDF-Datein mit Kompression

  Alt 16. Mär 2013, 08:20
Gut, wie groß das pdf ist hängt natürlich von der Seitengröße des pdfs ab. Vielleicht mal mit 96 dpi einnscannen oder mit StrechDraw arbeiten.

Ich zieh mir die Komponente auch nicht aufs Form sondern hab eine TList von gleich großen TPRPage Seiten. Wenn ich Bitmaps einbinde, dann sind deren Abmessungen exakt auf die Seitengröße des pdfs abgestimmt (immer ganze, hable oder Viertelgrößen dieser Bounds).

Die Seiten hab ich so aufgebaut:

Delphi-Quellcode:
const
  CharFixedHeight = 28;
  CharArialHeight = 24;
  CharFixedWidth = 16.8; // PRLabel.GetTextWidth (FontSize: CharFixedHeight, fnFixedWidth)
  PRPageWidth = 1680;
  PRPageHeight = 2376;
  PRLayoutPanelMarginsX = 168; // (PageWidth - 80 * FixedWidth) / 2
  PRLayoutPanelMarginsY = 50;

procedure TPdfListPage.PRPageInit(const PageNr: integer);
begin
  FPRPage.Left:= 0;
  FPRPage.Top:= 0;
  FPRPage.Width:= PRPageWidth;
  FPRPage.Height:= PRPageHeight;
  FPRPage.Name:= 'PRPage' + IntToStr(PageNr);
end;

procedure TPdfListPage.PRLayoutPanelInit(const PageNr, VX, VY: integer);
begin
  FPRLayoutPanel.Parent:= FPRPage;
  FPRLayoutPanel.Left:= PRLayoutPanelMarginsX + VX;
  FPRLayoutPanel.Top:= PRLayoutPanelMarginsY + VY;
  FPRLayoutPanel.Width:= FPRPage.Width - 2 * PRLayoutPanelMarginsX;
  FPRLayoutPanel.Height:= FPRPage.Height - 2 * PRLayoutPanelMarginsY;
  FPRLayoutPanel.Name:= 'PRLayoutPanel' + IntToStr(PageNr);
end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz