此二维码生成器仅允许您为一个内容字段生成。我想添加一种生成所有信息的方法,您可以在这里使用php:http://zxing.appspot.com/generator/生成这些信息
我希望用户能够编码的MECARD和vCard
这就是我到目前为止所知道的:
<div id="generator">
<form target="qrcode-frame" action="gen.php" method="post">
<fieldset>
<legend>Size:</legend>
<input type="radio" name="size" value="150x150" checked>150x150<br>
<input type="radio" name="size" value="200x200">200x200<br>
<input type="radio" name="size" value="250x250">250x250<br>
<input type="radio" name="size" value="300x300">300x300<br>
</fieldset>
<fieldset>
<legend>Encoding:</legend>
<input type="radio" name="encoding" value="UTF-8" checked>UTF-8<br>
<input type="radio" name="encoding" value="Shift_JIS">Shift_JIS<br>
<input type="radio" name="encoding" value="ISO-8859-1">ISO-8859-1<br>
</fieldset>
<fieldset>
<legend>Content:</legend>
<textarea name="content"></textarea>
</fieldset>
<fieldset>
<legend>Error correction:</legend>
<select name="correction">
<option value="L" selected>L</option>
<option value="M">M</option>
<option value="Q">Q</option>
<option value="H">H</option>
</select>
</fieldset>
<input type="submit" value="Generate"></input>
</form>
</div>
<div id="result">
<iframe name="qrcode-frame" frameborder="0" id="qrcode" src="gen.php" height="315px;" width="350px"></iframe>
</div>在另一个文件中:
<?php
if(isset($_REQUEST['content'])){
//capture from the form
$size = $_REQUEST['size'];
$content = $_REQUEST['content'];
$correction = strtoupper($_REQUEST['correction']);
$encoding = $_REQUEST['encoding'];
//form google chart api link
$rootUrl = "https://chart.googleapis.com/chart?cht=qr&chs=$size&chl=$content&choe=$encoding&chld=$correction";
//print out the image
echo '<img src="'.$rootUrl.'">';
}
?>这很有效,但非常有限。
谢谢
发布于 2012-09-28 14:19:07
我们有重要的参数
cht=qr Required -> Specifies a QR code
chs=<width>x<height> Required -> Image size
chl=<data> Required -> more than 2K bytes (minus the other URL characters), you will have to send your data using POST
choe=<output_encoding> Optional -> UTF-8 , Shift_JIS , ISO-8859-1
chld=<error_correction_level>|<margin> Optional ->
error_correction_level
L - [Default] Allows recovery of up to 7% data loss
M - Allows recovery of up to 15% data loss
Q - Allows recovery of up to 25% data loss
H - Allows recovery of up to 30% data loss
margin - The width of the white border around the data portion of the code. 所以我们有
1- url
$data = 'http://chart.apis.google.com/chart?'; // url2-参数
$data .= 'cht=qr&chs=' . $Barcode_size . '&chld=' . $Error_correction . '&choe=' .$Character_encoding . '&chl=' . $Encoding . ':'; // parameters3-我们的数据
$data .= 'name:' . $Name . ';Company:' . $Company . ';Title:' . $Title . ';Phone_number:' . $Phone_number . ';Email:' . $Email . ';Address:' . $Address . ';Website:' . $Website . ';Memo:' . $Memo . ';;'; 结果会是这样的
http://chart.apis.google.com/chart?cht=qr&chs=120x120&chld=L&choe=UTF-8&chl=MECARD:name:MyName;Company:MyCo;Title:ttt;Phone_number:ttt;Email:ttt;Address:ttt;Website:tt;Memo:ttt;;请注意数据:
名字MyName ->写的就像->名字:MyName;
数据名称:数据值;//只能发送不带名称的值
在这行的末尾你会发现两个分号
发布于 2012-09-28 09:03:31
您可以在此处找到详细信息https://developers.google.com/chart/infographics/docs/qr_codes#details
和这里的示例http://www.cognation.net/QR/Google_api.htm
如果您需要html代码和php代码,请使用您需要创建的数据编写注释。
我将为您创建一个示例。
发布于 2012-09-28 11:10:43
这个例子对我很好,你必须处理错误(空的文本框)
示例:
必须包含jquery.js html:
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<script src="jquery.js" type="text/javascript"> </script>
<script language="JavaScript" type="text/javascript" >
function get_url()
{
$.ajax(
{
type: 'POST',
url: 'gen.php',
dataType: "html",
data: {Name: $('#Name').val(), Company: $('#Company').val(),Title: $('#Title').val(), Phone_number: $('#Phone_number').val(),Email: $('#Email').val(), Address: $('#Address').val(),Address_2 : $('#Address_2').val(), Website: $('#Website').val(),Memo: $('#Memo').val(), Encoding: $('#Encoding option:selected').val(), Barcode_size: $('#Barcode_size option:selected').val(), Error_correction: $('#Error_correction option:selected').val(), Character_encoding: $('#Character_encoding option:selected').val()},
success: function(msg) {
$('#myurl').val(msg);
$('#img').attr('src',msg);
} });
}
</script>
<title>
</title>
</head>
<body>
<form action="javascript:get_url();">
<table cellspacing="0" cellpadding="0" id="mainpanel"> <tbody>
<tr>
<td align="left" style="vertical-align: top;">
<table id="leftpanel"> <colgroup> <col> </colgroup> <tbody>
<tr>
<td> </td>
</tr>
<tr>
<td>
<table> <colgroup> <col class="firstColumn"> <col class="secondColumn"> </colgroup> <tbody>
<tr>
<td class="firstColumn">Name
</td>
<td class="secondColumn">
<input type="text" id="Name">
</td>
</tr>
<tr>
<td class="firstColumn">Company
</td>
<td class="secondColumn">
<input type="text" id="Company">
</td>
</tr>
<tr>
<td class="firstColumn">Title
</td>
<td class="secondColumn">
<input type="text" id="Title">
</td>
</tr>
<tr>
<td class="firstColumn">Phone number
</td>
<td class="secondColumn">
<input type="text" id="Phone_number">
</td>
</tr>
<tr>
<td class="firstColumn">Email
</td>
<td class="secondColumn">
<input type="text" id="Email">
</td>
</tr>
<tr>
<td class="firstColumn">Address
</td>
<td class="secondColumn">
<input type="text" id="Address">
</td>
</tr>
<tr>
<td class="firstColumn">Address 2
</td>
<td class="secondColumn">
<input type="text" id="Address_2">
</td>
</tr>
<tr>
<td class="firstColumn">Website
</td>
<td class="secondColumn">
<input type="text" id="Website">
</td>
</tr>
<tr>
<td class="firstColumn">Memo
</td>
<td class="secondColumn">
<input type="text" id="Memo">
</td>
</tr>
<tr>
<td class="firstColumn">Encoding
</td>
<td class="secondColumn">
<select id="Encoding">
<option selected value="MECARD">MECARD </option>
<option value="vCard">vCard </option>
</select>
</td>
</tr> </tbody>
</table>
</td>
</tr>
<tr>
<td>
<span id="errorMessageID">
</span>
</td>
</tr>
<tr>
<td>
<table> <colgroup> <col class="firstColumn"> <col class="secondColumn"> </colgroup> <tbody>
<tr>
<td class="firstColumn">Barcode size
</td>
<td class="secondColumn">
<select id="Barcode_size">
<option selected value="120">Small </option>
<option value="230">Medium </option>
<option value="350">Large </option>
</select>
</td>
</tr>
<tr>
<td class="firstColumn">Error correction
</td>
<td class="secondColumn">
<select id="Error_correction">
<option selected value="L">L </option>
<option value="M">M </option>
<option value="Q">Q </option>
<option value="H">H </option>
</select>
</td>
</tr>
<tr>
<td class="firstColumn">Character encoding
</td>
<td class="secondColumn">
<select id="Character_encoding">
<option selected value="UTF-8">UTF-8 </option>
<option value="ISO-8859-1">ISO-8859-1 </option>
<option value="Shift_JIS">Shift_JIS </option>
</select>
</td>
</tr> </tbody>
</table>
</td>
</tr>
<tr>
<td>
<table> <colgroup> <col class="firstColumn"> <col class="secondColumn"> </colgroup> <tbody>
<tr>
<td class="firstColumn">
</td>
<td class="secondColumn"> <button type="submit" >Generate → </button>
</td>
</tr> </tbody>
</table>
</td>
</tr> </tbody>
</table>
</td>
<td align="left" style="vertical-align: top;">
<table cellspacing="0" cellpadding="0"> <tbody>
<tr>
<td align="left" style="vertical-align: top;">
<div id="imageresult">
<div id="innerresult"> <img id="img" src="" >
</div>
</div>
</td>
</tr>
<tr>
<td align="left" style="vertical-align: top;">
<div class="gwt-HTML" id="downloadText" style="">
embed with this URL:
</div>
</td>
</tr>
<tr>
<td align="left" style="vertical-align: top;">
<input name="myurl" id="myurl" type="text" class="gwt-TextBox" id="urlresult" style="">
</td>
</tr>
<tr>
<td align="left" style="vertical-align: top;"> </td>
</tr> </tbody>
</table>
</td>
</tr> </tbody>
</table>
</form>
</body>
</html>php:
<?php
$post = (!empty ($_POST)) ? true : false;
if (!$post) {
die();
}
$data = '';
@ $Name = $_POST['Name'];
@ $Company = $_POST['Company'];
@ $Title = $_POST['Title'];
@ $Phone_number = $_POST['Phone_number'];
@ $Email = $_POST['Email'];
@ $Address = $_POST['Address'];
@ $Address_2 = $_POST['Address_2'];
@ $Website = $_POST['Website'];
@ $Memo = $_POST['Memo'];
@ $Encoding = $_POST['Encoding'];
@ $Barcode_size = $_POST['Barcode_size'];
@ $Error_correction = $_POST['Error_correction'];
@ $Character_encoding = $_POST['Character_encoding'];
$Barcode_size = $Barcode_size . "x" . $Barcode_size;
$data = 'http://chart.apis.google.com/chart?'; // url
$data .= 'cht=qr&chs=' . $Barcode_size . '&chld=' . $Error_correction . '&choe=' .$Character_encoding . '&chl=' . $Encoding . ':'; // required data
$data .= 'name:' . $Name . ';Company:' . $Company . ';Title:' . $Title . ';Phone_number:' . $Phone_number . ';Email:' . $Email . ';Address:' . $Address . ';Website:' . $Website . ';Memo:' . $Memo . ';;'; // your data -> name :value ; and at the end of the line -> ;
echo $data;
?>https://stackoverflow.com/questions/12631886
复制相似问题