AGB  ·  Datenschutz  ·  Impressum  







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

[Drucken] Buffergröße reduzieren

Ein Thema von xZise · begonnen am 28. Dez 2008 · letzter Beitrag vom 18. Jan 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

[Drucken] Buffergröße reduzieren

  Alt 28. Dez 2008, 10:53
Hallo ihr,

wie kann man die Buffergröße bei 12 Seiten reduzieren? Wir drucken nur "Barcodes" mit etwas Text, aber der PDF-Drucker hat so 1,1 GB Daten zu verarbeiten. Ich dachte da zum einem statt 32 bit nur 8 oder 1 bit zu nehmen. Hätten wir zwar kein Hinting, aber SO wichtig ist das Hinting nicht.

In wie weit ich Code raus geben kann muss ich nochmal gucken, da es nicht direkt "mein" Code ist (Wir haben uns in Gruppen aufgeteilt, und ich bin nicht in der Gruppe die Druckt, aber ich bin hier angemeldet ^^ ), aber die entsprechenden Personen sind kontaktiert.

[edit=0]So ich habe das Okay von den entsprechenden Personen bekommen. Das Ergebnis ist im Anhang![/edit]

MfG
xZise
Angehängte Dateien
Dateityp: zip drucker_184.zip (2,1 KB, 9x aufgerufen)
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: [Drucken] Buffergröße reduzieren

  Alt 28. Dez 2008, 17:57
Welche Buffergröße?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#3

Re: [Drucken] Buffergröße reduzieren

  Alt 28. Dez 2008, 20:08
Naja die Größe der Daten die der Drucker bekommt.

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#4

Re: [Drucken] Buffergröße reduzieren

  Alt 28. Dez 2008, 23:54
Ggf. mit weniger DPI drucken.

zB.
bei 720 DPI auf A4 bei 32 Bits ~ 123,06 MB / Seite
bei 360 DPI auf A4 bei 32 Bits ~ 47,79 MB / Seite

Wobei 32 Bits wohl unnötig wären.
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#5

Re: [Drucken] Buffergröße reduzieren

  Alt 29. Dez 2008, 00:02
Zitat von Sunlight7:
Wobei 32 Bits wohl unnötig wären.
Genau. Ich mein Graystufen (also 8 Bit), wäre ja schon eine Verringerung um Faktor 4. Aber wie stellt man das ein?

Zu den DPI: Hängen die vom Drucker ab, oder kann man da selber auch was drehen?

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#6

Re: [Drucken] Buffergröße reduzieren

  Alt 29. Dez 2008, 01:19
Scheinbar kennen Drucker nur Monochrome oder Farbe, zumindest steht in Delphi-Referenz durchsuchenDeviceCapabilities nicht mehr als
Zitat:
dmColor

Switches between color and monochrome on color printers. Following are the possible values:

DMCOLOR_COLOR
DMCOLOR_MONOCHROME
Und egal was ich dem Drucker einstelle, es zeigt immer 24 Bit an.

Delphi-Quellcode:
   var cd:String;
       th:Integer;
begin
   If not PrintDialog1.Execute then
      Exit;

   Printer.BeginDoc;

   Case GetDeviceCaps(Printer.Canvas.Handle, BITSPIXEL) of
       1: cd:='Monochrome';
       4: cd:='16 Farben';
       8: cd:='256 Farben';
      16: cd:='16 Bit High Color';
      24: cd:='24 Bit True Color';
      32: cd:='32 Bit RGBA Color';
      else cd:='Öhm?';
   end;

   Printer.Canvas.Font.Color:=0;
   th:=Printer.Canvas.TextHeight('Bla bla bla');
   Printer.Canvas.TextOut(0, 0, 'Das ist nur ein Test');
   Printer.Canvas.TextOut(0, th, Format('Auflösung: %d x %d', [Printer.PageWidth, Printer.PageHeight]));
   Printer.Canvas.TextOut(0, th * 2, 'Farbtiefe: '+cd);

   Printer.EndDoc;

Was die DPI angeht, das kannst Du per TPrintDialog bzw. TPrintSetupDialog einstellen und ist bei jedem Drucker anders.
Konnte man bei meinm alter Drucker 180, 360 & 720 DPI einstellen heißt es beim neuem dann; Entwurf, Normal, Foto & Optimales Foto.
Wobei es sich dann auch um 180, 360, 720 & 1440 DPI dreht und es mich bei 180 DPI nervt, weil er da immer in den Sparmodus schaltet und kaum sichtbar druckt
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: [Drucken] Buffergröße reduzieren

  Alt 29. Dez 2008, 06:57
Schon mal FastReport, FreeReport, oder Quickreport probiert? Ich drucke ständig Barcodes mit FastReport auf einem Laserdrucker aus und scher mich nicht darum.

Weiteres (Riesen-) FauxPas: Du malst einen Barcode und verzerrst ihn dann (Stretchdraw). Anschließend sind die Linien vermutlich nicht mehr gleich dick (+/- 2pixel). Bei hohen Auflösungen kann das egal sein, aber bei kleinen DPI dürfte/könnte der Scanner dann Probleme bekommen. Du solltest nur um ganzzahlige Faktoren skalieren, damit dieses Problem nicht auftritt. Auch könne es nicht schaden, direkt auf den Druckercanvas zu zeichnen, wobei vorher die Strichdicke(n) einmalig berechnet werden. Dann ist der Barcode vielleicht etwas kürzer als geplant, dafür aber pixelgenau. Ich vermute, dass sich dann auch das Speicherproblem löst.

Mein Tipp: Investiert ein paar Euronen in FastReport. Das ist allemal billiger, als sich tagelang mit diesem Problem rumzuärgern. Dort gibt es auch eine Barcode-Komponente, die diverse Codes pixelgenau ausdruckt.

Edit: PDF kennt zudem diverse Auflösungen, auch hier könntet ihr drehen. Wenn ihr jedoch ein PDF später ausdruckt, dann müssen die Barcodes schon ziemlich groß sein (bzw. dürfen nicht zu klein sein), damit sie problemlos gelesen werden können.

Letzte Frage: Ist das PDF 1.2GB groß, oder wie?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#8

Re: [Drucken] Buffergröße reduzieren

  Alt 29. Dez 2008, 11:18
Hallo alzaimar,

Zitat von alzaimar:
Schon mal FastReport, FreeReport, oder Quickreport probiert? Ich drucke ständig Barcodes mit FastReport auf einem Laserdrucker aus und scher mich nicht darum.

[...]

Mein Tipp: Investiert ein paar Euronen in FastReport. Das ist allemal billiger, als sich tagelang mit diesem Problem rumzuärgern. Dort gibt es auch eine Barcode-Komponente, die diverse Codes pixelgenau ausdruckt.
Naja da müsste man gucken.

Zitat von alzaimar:
[...]Weiteres (Riesen-) FauxPas: Du malst einen Barcode und verzerrst ihn dann (Stretchdraw). Anschließend sind die Linien vermutlich nicht mehr gleich dick (+/- 2pixel). Bei hohen Auflösungen kann das egal sein, aber bei kleinen DPI dürfte/könnte der Scanner dann Probleme bekommen. Du solltest nur um ganzzahlige Faktoren skalieren, damit dieses Problem nicht auftritt. Auch könne es nicht schaden, direkt auf den Druckercanvas zu zeichnen, wobei vorher die Strichdicke(n) einmalig berechnet werden. Dann ist der Barcode vielleicht etwas kürzer als geplant, dafür aber pixelgenau. Ich vermute, dass sich dann auch das Speicherproblem löst.[...]
Zur Skalierung müsste ich mir den Code angucken (wobei ich sie extra drauf hingewiesen hatte ganzzahlige Faktoren zu verwenden). Und warum sie sich weigern direkt auf dem Canvas zu Zeichnen ist mir auch schleierhaft (imho bräuchte man noch nicht mal die Barcode-Klasse).

Zitat von alzaimar:
Edit: PDF kennt zudem diverse Auflösungen, auch hier könntet ihr drehen. Wenn ihr jedoch ein PDF später ausdruckt, dann müssen die Barcodes schon ziemlich groß sein (bzw. dürfen nicht zu klein sein), damit sie problemlos gelesen werden können.´
Ne ich drucke nur auf PDF, weil der Scanner nicht bei mir rumliegt und ich kein Papier verschwenden will.

Zitat von alzaimar:
Letzte Frage: Ist das PDF 1.2GB groß, oder wie?
Nein knapp 12 MiB... Möglicherweise wegen Komprimierungen?

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Oreaden

Registriert seit: 10. Nov 2008
60 Beiträge
 
#9

Re: [Drucken] Buffergröße reduzieren

  Alt 29. Dez 2008, 11:40
Sag mal XZISE, wie Groß ist denn dein BarCodeEtikett (BCE)? Wirklich DIN A4 oder vielleicht doch etwas kleiner. Falls dein BCE nur einen Bruchteil deiner A4 Seite ausmacht, so würdest du alleine schon viel sparen, wenn Du auf die tatsächliche BCE Seitengröße drucken würdest, da ansonsten die gesamte A4 Seite auf den Drucker übertragen wird. So über dem Daumen gepeilt sollte das wohl eine Verschwendung von mehreren 1000% sein.

In deinem Profil sehe ich, dass Du D2009Prof einsetzt, hier ist doch RAVE mit bei, und bei RAVE sind doch die Barcodekomponenten mit bei. Die könntest Du doch Problemlos dafür einsetzen, entweder Formular- oder Codebased.

Schöne Grüße
OREADEN
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#10

Re: [Drucken] Buffergröße reduzieren

  Alt 29. Dez 2008, 12:37
Hi Oreaden,
ICH verwende Delphi 2009.

Und das BCE ist A4.Width div 4 und A4.Height div 11 groß, aber dafür drucken wir 44 Barcodes/BCEs auf eine A4 Seite.

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 02: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