php-general Digest 6 Dec 2010 02:33:10 -0000 Issue 7071

Topics (messages 309858 through 309865):

http request
        309858 by: Moses
        309859 by: Daniel Molina Wegener
        309860 by: Shreyas

Re: desire your recommendation for our specific HTML -> PDF project
        309861 by: Tommy Pham
        309862 by: Govinda
        309863 by: Tommy Pham
        309864 by: Govinda
        309865 by: Tommy Pham

Administrivia:

To subscribe to the digest, e-mail:
        php-general-digest-subscr...@lists.php.net

To unsubscribe from the digest, e-mail:
        php-general-digest-unsubscr...@lists.php.net

To post to the list, e-mail:
        php-gene...@lists.php.net


----------------------------------------------------------------------
--- Begin Message ---
Hi Everyone,

I would like to know whether there is a http request PHP script. I
would like to use in cases where a background script is running for
sometime and outputs the results in PHP once the script  has been executed.


Thanks.

musa

--- End Message ---
--- Begin Message ---
On Sunday 05 December 2010,
Moses <jam...@gmail.com> wrote:

> Hi Everyone,

  Hello...

> 
> I would like to know whether there is a http request PHP script. I
> would like to use in cases where a background script is running for
> sometime and outputs the results in PHP once the script  has been
> executed.

  You can try cURL:

  http://php.net/manual/en/book.curl.php

> 
> 
> Thanks.
> 
> musa


Best regards,
-- 
Daniel Molina Wegener <dmw [at] coder [dot] cl>
System Programmer & Web Developer
Phone: +56 (2) 979-0277 | Blog: http://coder.cl/

--- End Message ---
--- Begin Message --- I am not sure if I understand the question with clarity. What exactly do you mean by a HTTP request script?

Since it involves a web server to run the PHP script, the HTTP request and response will be the backbone of the whole transaction. But like I mentioned earlier, I could be seeing the question wrong.

--Shreyas

Sent from my iPhone

On 05-Dec-2010, at 18:09, Moses <jam...@gmail.com> wrote:

Hi Everyone,

I would like to know whether there is a http request PHP script. I
would like to use in cases where a background script is running for
sometime and outputs the results in PHP once the script has been executed.


Thanks.

musa

--- End Message ---
--- Begin Message ---
> -----Original Message-----
> From: Govinda [mailto:govinda.webdnat...@gmail.com]
> Sent: Friday, December 03, 2010 3:12 PM
> To: PHP-General List
> Subject: [PHP] desire your recommendation for our specific HTML -> PDF
> project
> 
> Hi all
> 
> I have a question which I see from googling has been discussed at length..
> but I want to know what you would recommend based on our particular
> needs.  I want to be on the right track before I find out a- week-of-work
> later that I chose the wrong tool (a tool which works, but whose
peculiarity,
> in the end, would rule it out for our project).
> 
> We have a dynamic HTML page that displays 30 "address labels" within the
> dimensions of one single US-letter-size document.  We want the user to be
> able to print the single letter-sized page and have the content line up
> perfectly (as it does in the browser) for the Avery address label
(printed)
> sticker paper which they will use to then peel the 30 stickers and affix
to
> physical product.  The HTML page is ~ 200k worth of HTML (<div>s and
> <table>s), text, gifs, jpgs, a barcode PNG graphic, and heavy use of
exacting
> CSS - CSS2 as well as a touch of CSS3 (CSS3 property transform), i.e.
this:
> /* --- for firefox, safari, chrome, etc. --- */
> -webkit-transform: rotate(90deg);
> -moz-transform: rotate(90deg);
> /* --- for ie --- */
> filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
> 
> ...which I use to rotate (90 degrees) a barcode which I grab off of this
> site/service:
> http://www.barcodesinc.com/generator/index.php
> 
> We could drop that barcode PNG/service only if I could easily replace it
with
> another... and the barcode must be rotated 90 degrees - to thus fit in its
tiny
> (vertically-oriented) alloted slot on each of the
> 30 "address label cells".
> 
> A thread on stackOverflow has people making recommendations all over
> the map.. as I would expect - our needs and experiences are all over the
> map.
> 
> - I wish we had budget for the server version of PrinceXML ;-) ... but no
luck.
> - I have never used any PHP libraries like FPDF or TCPDF, but am concerned
> about speed; corporate users (on various browsers) will need the pdf in
real
> time.  They may be patient and wait for the final PDF if keep the solution
> free.. but if it takes minutes to generate, that is a minus point.

Govinda,

Have you/your team consider using pure CSS (using media screen & print) for
formatting?  This may save you from having to deal with PDF (extra codes ->
slower performance, extra steps in save then print, extra storage space just
for temp save, etc... ) since they only need to print as you mentioned.  If
you use CSS pt (1/72 inch) unit, you should get a pretty good precision.
IMO, I only see the need to save as/generate PDF if it's to create an
e-book, just to print to paper is not worth the time & effort. With either
method CSS/PDF, you'd still have to deal with the exact formatting & layout
(with PDF, you may have to twice - once for the screen and again in PDF).

> Also I am not sure how good these are for HTML -> PDF (as opposed to
> straight PDF from scratch).. plus not sure how good is the CSS support.
Our
> page is a bit of an HTML/CSS kludge.
> - I have used the command-line tools HTMLDOC and wkpdf, but the former
> lacked the CSS I need now, and the latter introduces margin that kills it
for
> exact address-label formatting (plus this project is on Linux).
> 
> My PHP skills are not super strong yet.. but I am willing to do whatever
it
> takes to pull any solution together.
> In case you have any familiarity with any PDF generation tools that you
feel
> would fit the need here, then *please advise*!
> 
> Thanks!
> -Govinda
> 
> 
> ------------
> Govinda
> govinda(DOT)webdnatalk(AT)gmail(DOT)com
> 
> 

Regards,
Tommy


--- End Message ---
--- Begin Message ---

Govinda,

Have you/your team consider using pure CSS (using media screen & print) for formatting? This may save you from having to deal with PDF (extra codes -> slower performance, extra steps in save then print, extra storage space just for temp save, etc... ) since they only need to print as you mentioned. If you use CSS pt (1/72 inch) unit, you should get a pretty good precision.
IMO, I only see the need to save as/generate PDF if it's to create an
e-book, just to print to paper is not worth the time & effort. With either method CSS/PDF, you'd still have to deal with the exact formatting & layout (with PDF, you may have to twice - once for the screen and again in PDF).

Tommy, thanks for taking the time to read my long post!  :-)

I tend to think like you too.. why make more work! ; I already got the thing laid out nice for the browser.. *but* the client is wary of the idea that every browser is going to have a slightly different rendition..and so we then have to either require use of one browser or another (and maintain the code as that browser version gets updated), or we have to code for lots of browsers.. and also code the mechanism by which either we sniff/detect which browser is being used.. or else the user tells the page which rendition they need - before printing. As they ponder all that, and the budget.. the client said, "it must be PDF!"

-Govinda

--- End Message ---
--- Begin Message ---
> -----Original Message-----
> From: Govinda [mailto:govinda.webdnat...@gmail.com]
> Sent: Sunday, December 05, 2010 9:19 AM
> Cc: 'PHP-General List'
> Subject: Re: [PHP] desire your recommendation for our specific HTML -> PDF
> project
> 
> >>
> > Govinda,
> >
> > Have you/your team consider using pure CSS (using media screen &
> > print) for
> > formatting?  This may save you from having to deal with PDF (extra
> > codes -> slower performance, extra steps in save then print, extra
> > storage space just for temp save, etc... ) since they only need to
> > print as you mentioned.  If you use CSS pt (1/72 inch) unit, you
> > should get a pretty good precision.
> > IMO, I only see the need to save as/generate PDF if it's to create an
> > e-book, just to print to paper is not worth the time & effort. With
> > either method CSS/PDF, you'd still have to deal with the exact
> > formatting & layout (with PDF, you may have to twice - once for the
> > screen and again in PDF).
> 
> Tommy, thanks for taking the time to read my long post!  :-)
> 
> I tend to think like you too..  why make more work! ; I already got the
thing
> laid out nice for the browser..
> *but* the client is wary of the idea that every browser is going to have a
> slightly different rendition..and so we then have to either require use of
> one browser or another (and maintain the code as that browser version gets
> updated), or we have to code for lots of browsers.. and also code the
> mechanism by which either we sniff/detect which browser is being used..
> or else the user tells the page which rendition they need - before
printing.
> As they ponder all that, and the budget.. the client said, "it must be
PDF!"
> 
> -Govinda
> 

IIRC, the browser rendering difference should only be on the screen and with
available fonts on the client.  But for print, if you use pt, it should be
accurate.  The only issue I see with print is the font difference on printer
and in the client's system, that's the printer driver problem.  If you use
some special fonts, then you'll have to create a PDF so acrobat can attempt
to rasterize it.  Another option is just generate each label as a picture
via GD, ImageMagick, etc..., then no problems with browser differences or
font issues  :D.  If you do generate pics or PDF, beware of the quality of
printer's dpi vs. visual screen.  Any decent printer should be able to print
1200 dpi, or at least 600 dpi.

Here's the sample CSS print media since 1pt = 1/72 inch, assuming you're
using Avery labels with 1/4 inch margins:

body { width: 100%; min-width: 756pt; text-align: center; }
div.container { width: 576pt /*8 / (1/72) */; height: 756pt /* 10.5 inch /
(1/72) */;  overflow: hidden; }
div.label { float: left; width: 192pt /*576 / 3 columns */;  height: 72pt /*
1 inch height label */; overflow: hidden; }

For the font size, you should use pt also - 10 or 11 pt is readable on the
print out.  Each label is inside the div and it should fit nicely.  If you
do with CSS, you can permit the users to change size of label, as their need
may change, with calculations from PHP to get dimensions (width & height of
the label).  If anyone can tell visually the difference of 1pt or fractions
thereof, that person isn't normal :))
 
Regards,
Tommy


--- End Message ---
--- Begin Message ---
IIRC, the browser rendering difference should only be on the screen and with
available fonts on the client.

I am finding just the opposite of what you are saying. The page looks the same in the browsers.. but when I print from different browsers I get different results on paper. Like just for starters - the top and left whitespace margin introduced by the browser.. (which is *outside* any margin I have set (or not set) with HTML/CSS) is different. Also the scaling is different... as though I am using zoom/scaling in one print dialogue but not the other (even when I am not using any scaling options, while printing, in any of the print dialogues).

But for print, if you use pt, it should be
accurate. The only issue I see with print is the font difference on printer and in the client's system, that's the printer driver problem. If you use some special fonts, then you'll have to create a PDF so acrobat can attempt
to rasterize it.

Another option is just generate each label as a picture
via GD, ImageMagick, etc..., then no problems with browser differences or font issues :D. If you do generate pics or PDF, beware of the quality of printer's dpi vs. visual screen. Any decent printer should be able to print
1200 dpi, or at least 600 dpi.

that is not a bad idea, in this case. I enjoy exploring and getting good at lots of different solutions.. In the end, I'll have to defer to client and budget. So far we are just gathering ideas before committing to trying something. Budget is such that we need to do this only once if at all possible.

Here's the sample CSS print media since 1pt = 1/72 inch, assuming you're
using Avery labels with 1/4 inch margins:

body { width: 100%; min-width: 756pt; text-align: center; }
div.container { width: 576pt /*8 / (1/72) */; height: 756pt /* 10.5 inch /
(1/72) */;  overflow: hidden; }
div.label { float: left; width: 192pt /*576 / 3 columns */; height: 72pt /*
1 inch height label */; overflow: hidden; }

Each label contains within it layered (z-index) divs, tables, graphics..
I did used pt for the font sizes (or em on top of a pt base font size).. and I used inches as the length/width units.. so it was intuitive for layout on paper.

It looks great on screen (easy to line up with an AVERY template).. but now we just need to pin down the print method so the client's client can print reliably.. without needing to be technically involved. I really appreciate your effort to help conceptualize. Now if you feel like it, and have time.. try laying out a single letter-size page to print 30 address labels and then actually print that page from different browsers and see what you get. Does your page's data cells (now printed on paper) exactly line up with the Avery template which you modeled after? Are the tests from different browsers producing the exact same printout?

-Govinda

For the font size, you should use pt also - 10 or 11 pt is readable on the print out. Each label is inside the div and it should fit nicely. If you do with CSS, you can permit the users to change size of label, as their need may change, with calculations from PHP to get dimensions (width & height of the label). If anyone can tell visually the difference of 1pt or fractions
thereof, that person isn't normal :))

Regards,
Tommy


--- End Message ---
--- Begin Message ---
> -----Original Message-----
> From: Govinda [mailto:govinda.webdnat...@gmail.com]
> Sent: Sunday, December 05, 2010 1:33 PM
> Cc: 'PHP-General List'
> Subject: Re: [PHP] desire your recommendation for our specific HTML -> PDF
> project
> 
> > IIRC, the browser rendering difference should only be on the screen
> > and with available fonts on the client.
> 
> I am finding just the opposite of what you are saying.  The page looks the
> same in the browsers.. but when I print from different browsers I get
> different results on paper.  Like just for starters - the top and left
> whitespace margin introduced by the browser.. (which is *outside* any
> margin I have set (or not set) with HTML/CSS) is different.  Also the
scaling is
> different... as though I am using zoom/scaling in one print dialogue but
not
> the other (even when I am not using any scaling options, while printing,
in
> any of the print dialogues).
> 

That's because each browser has the a different page setup for printing,
margin, header & footer (including date, time, url, etc.).  You'll have
similar problems with PDF.  I have a few Word documents with 1/4 inch
margins saved as PDFs, via Acrobat Pro, to send out some folks.  When they
try to print w/o checking the configuration, Acrobat would just try to scale
and center, essentially reducing the overall size.  Either way, the user has
to check the configuration prior to printing just as they would have to set
the page layout in the word processor.  The only way I see around this is to
actually generate Word type document, where the user doesn't need to do
check the configuration.  Since Word format is proprietary, you'll might
some problems getting the code.

> > But for print, if you use pt, it should be accurate.  The only issue I
> > see with print is the font difference on printer and in the client's
> > system, that's the printer driver problem.  If you use some special
> > fonts, then you'll have to create a PDF so acrobat can attempt to
> > rasterize it.
> 
> > Another option is just generate each label as a picture via GD,
> > ImageMagick, etc..., then no problems with browser differences or font
> > issues  :D.  If you do generate pics or PDF, beware of the quality of
> > printer's dpi vs. visual screen.  Any decent printer should be able to
> > print
> > 1200 dpi, or at least 600 dpi.
> 
> that is not a bad idea, in this case.  I enjoy exploring and getting good
at lots
> of different solutions..  In the end, I'll have to defer to client and
budget.  So
> far we are just gathering ideas before committing to trying something.
> Budget is such that we need to do this only once if at all possible.
> 

I too like to do things right the first time :)

> > Here's the sample CSS print media since 1pt = 1/72 inch, assuming
> > you're using Avery labels with 1/4 inch margins:
> >
> > body { width: 100%; min-width: 756pt; text-align: center; }
> > div.container { width: 576pt /*8 / (1/72) */; height: 756pt /* 10.5
> > inch /
> > (1/72) */;  overflow: hidden; }
> > div.label { float: left; width: 192pt /*576 / 3 columns */;  height:
> > 72pt /*
> > 1 inch height label */; overflow: hidden; }
> 
> Each label contains within it layered (z-index) divs, tables, graphics..
> I did used pt for the font sizes (or em on top of a pt base font size)..
and I
> used inches as the length/width units.. so it was intuitive for layout on
> paper.
> 

IIRC, if you used em, it relies on each browser's font configuration.  So
you'll have to pt with !important.

> It looks great on screen (easy to line up with an AVERY template)..
> but now we just need to pin down the print method so the client's client
can
> print reliably..  without needing to be technically involved.
> I really appreciate your effort to help conceptualize.  Now if you feel
like it,
> and have time.. try laying out a single letter-size page to print 30
address
> labels and then actually print that page from different browsers and see
> what you get.  Does your page's data cells (now printed on paper) exactly
> line up with the Avery template which you modeled after?  Are the tests
> from different browsers producing the exact same printout?
> 
> -Govinda

Yup on the HP 2015 at 1200 dpi.  The only browsers that didn't print out
correctly (on Windows) are Chrome & Safari, both are web toolkit...  which I
can't seem to find the scaling on the print configuration.  Apparently, I'm
not the only person with the printing issue [1].   IE 8 (w/o compatibility -
shrink to fit off), Firefox 3.16 (shrink to fit off), and Opera 10.63 (fit
to paper width off and scale print to 100%)  have scaling capability.  All
have margins at 1/4 inch or .635 cm.  This is from my template a while back.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
<html xmlns="http://www.w3.org/1999/xhtml";>

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title></title>
<style type="text/css">
@media all {
body { font: 11pt Arial, Helvetica, sans-serif !important; line-height:
1.25em; margin: 0; padding: 0;}
div { margin: 0; padding: 0; }

body { width: 100%; min-width: 576pt; text-align: center; } 
div.container { width: 576pt /*8 / (1/72) */; height: 756pt /* 10.5 inch /
(1/72) */;  overflow: hidden; } 
div.label { float: left; width: 190pt /*576 / 3 columns -2 (adjusted for
border) */;  height: 72pt /* 1 inch height label */; overflow: hidden;
border: 1px solid #999; border-bottom-color: #333; border-left-color: #333;
}
}
</style></head>

<body>
<div class="container">
<div class="label">address 1</div>
<div class="label">address</div>
<div class="label">address</div>

<div class="label">address 2</div>
<div class="label">address</div>
<div class="label">address</div>

<div class="label">address 3</div>
<div class="label">address</div>
<div class="label">address</div>

<div class="label">address 4</div>
<div class="label">address</div>
<div class="label">address</div>

<div class="label">address 5</div>
<div class="label">address</div>
<div class="label">address</div>

<div class="label">address 6</div>
<div class="label">address</div>
<div class="label">address</div>

<div class="label">address 7</div>
<div class="label">address</div>
<div class="label">address</div>

<div class="label">address 8</div>
<div class="label">address</div>
<div class="label">address</div>

<div class="label">address 9</div>
<div class="label">address</div>
<div class="label">address</div>

<div class="label">address 10</div>
<div class="label">address</div>
<div class="label">address</div>

</div></body></html>

Anyway, we're totally off-topic :))  Perhaps we should take this off-list,
unless others are interested in this also.  Forgot to mention that with
this, there should be no waste as the user can specify to start printing at
which label #, counting left to right then top to bottom.  IIRC, Avery has a
lot of different address and return address labels size (I used to work
there a long time ago), ranging from 1/2 to 3 inches height.

Regards,
Tommy

> 
> > For the font size, you should use pt also - 10 or 11 pt is readable on
> > the
> > print out.  Each label is inside the div and it should fit nicely.
> > If you
> > do with CSS, you can permit the users to change size of label, as
> > their need may change, with calculations from PHP to get dimensions
> > (width & height of the label).  If anyone can tell visually the
> > difference of 1pt or fractions thereof, that person isn't normal :))
> >
> > Regards,
> > Tommy
> 

[1]
http://www.google.com/support/forum/p/Chrome/thread?tid=4c903fafce998918&hl=
en



--- End Message ---

Reply via email to