从PHP网页下载图像或包含图像的网页

时间:2019-07-16 11:21:33

标签: php bash image curl wget

我目前正在尝试编写bash脚本,以允许用户输入需要打印的条形码的文本(类型C128),然后执行以下操作之一:

  • 下载带有条形码图像或仅包含图像的网页,然后在本地打印
  • 使用输入的文本作为该URL的读取变量来打印远程URL页面

这是特别的网站:

https://www.barcodesinc.com/generator/image.php?code=TEST1&style=165&type=C128B&width=388&height=150&xres=2&font=5

用任何文本替换TEST1。

我尝试使用wget,curl,html2ps,html2ps + ps2pdf,但是我遇到了一个源自URL页面基础的问题:

https://www.barcodesinc.com/generator/image.php

通过CLI,我得到了:

“需要条形码类型,例如C39”

目的是在本地打印图像或保存然后打印。

这是我到目前为止尝试过的:

#!/bin/bash
echo -ne "Enter the ID you want to print: "
read locid

#html2ps https://www.barcodesinc.com/generator/image.php?code=LOCATION$locid&style=165&type=C128B&width=388&height=150&xres=2&font=5 | lpr

#html2ps https://www.barcodesinc.com/generator/image.php?code=LOCATION$locid&style=165&type=C128B&width=388&height=150&xres=2&font=5 | ps2pdf - /home/byron/locations/LOCATION$locid.pdf

#html2ps https://www.barcodesinc.com/generator/image.php?code=LOCATION$locid&style=165&type=C128B&width=388&height=150&xres=2&font=5 -o /home/byron/locations/LOCATION$locid.html
#ps2pdf /home/byron/locations/LOCATION$locid.html /home/byron/locations/LOCATION$locid.pdf

lpr /home/byron/locations/LOCATION$locid.pdf

使用任何CLI工具时,我似乎都得到一个空文件或stdout输出。另外,打印作业立即被取消,并显示“(stdin)到打印机”。

我如上所述尝试过https://unix.stackexchange.com/questions/168569/printing-webpage-using-browser-via-cli,但是没有用。

2 个答案:

答案 0 :(得分:1)

您为什么要尝试使用LOCATION$locid而不仅仅是$locid

#!/bin/bash

read -p "enter LocationID:" locid

wget -O $locid.gif "https://www.barcodesinc.com/generator/image.php?code=$locid&style=165&type=C128B&width=388&height=150&xres=2&font=5"

成功下载了名为test1的图像

enter image description here

答案 1 :(得分:0)

barcodesinc.com似乎不再支持热链接:只有其自己域中的页面才能使用,打开或创建条形码图像...

我建议使用其他条形码图像服务器。例如,我刚刚发现了a10.selenode.com

wgethttps://a10.selenode.com/code128/TEST1TEST1 barcode