日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

基于PHP與XML的PDF文檔生成技術(shù)

瀏覽:164日期:2023-12-24 17:50:51

摘要

本論文簡(jiǎn)要介紹了PHP、XML、PDF等技術(shù)的原理以及它們的應(yīng)用情況。力圖運(yùn)用PHP面向?qū)ο蟮奶匦?,?gòu)建出一套基于PHP和XML的在線PDF文檔生成系統(tǒng)。文中詳細(xì)探討了整個(gè)系統(tǒng)的組成部分以及各自的實(shí)現(xiàn)過程。并在最后給出一個(gè)運(yùn)用這套系統(tǒng)實(shí)現(xiàn)的動(dòng)態(tài)創(chuàng)建報(bào)表的實(shí)例。

Abstract

This article introduced the fundamentls of PHP,XML and PDF and their application situation at present,expecting to build a PHP&XML-based dynamic PDF documents creating system through the PHP’s OO features. Furthermore,we discussed in detail on the components of the whole system and their respective realizing methods. Finally,we represented an example of creating reports dynamically using this system.

關(guān)鍵詞

PHP  XML XSLT  DTD  PDF

1. 引言

在信息技術(shù)飛速發(fā)展的時(shí)代,無論政府、企業(yè)還是個(gè)人,他們對(duì)如何通過信息技術(shù)提高自身工作效率,節(jié)省開支具有濃厚的興趣。他們急切要找到一種優(yōu)秀的技術(shù),可以把傳統(tǒng)上以紙張為媒介的文件、報(bào)表、票單據(jù)、手冊(cè)、申請(qǐng)書等等等等轉(zhuǎn)化為一種可以非常方便的在互聯(lián)網(wǎng)以及內(nèi)部網(wǎng)絡(luò)自動(dòng)生成、傳播、下載、瀏覽、打印的電子文檔。而如今最為熱門的“無紙化辦公”、“電子商務(wù)”等等都將以此為基礎(chǔ)。

這種文檔格式就Adobe公司的PDF(可移植文檔格式),它已是全世界電子版文檔分發(fā)的公開實(shí)用標(biāo)準(zhǔn) 。 任何瀏覽器只要安裝Acrobat reader 5.0 的插件,便可以自由瀏覽、下載、打印PDF文檔。PDF無疑具有其它電子文檔格式不可比擬的優(yōu)越性。

我們知道B/S系統(tǒng)作為當(dāng)前以及將來最流行的一種軟件架構(gòu),可以很好的實(shí)現(xiàn)各種基于瀏覽器的Web應(yīng)用程序,而PHP作為一種優(yōu)秀的Web編程語言,特別適合開發(fā)用于處理用戶表單輸入,查詢數(shù)據(jù)庫(kù)等針對(duì)瀏覽器用戶的前端應(yīng)用程序。由于PHP是開放源碼的,這使得它的使用比其它同類的Web腳本語言更為廣泛,它的功能也在不斷的擴(kuò)充和完善之中?,F(xiàn)在最新的PHP版本已經(jīng)可以很好的支持PDF,XML等。通過系統(tǒng)提供的API,我們能非??旖莸纳蒔DF文檔,而最具魅力的是,我們可以通過PHP,查詢數(shù)據(jù)庫(kù)或XML數(shù)據(jù)文件并將結(jié)果插入所生成的PDF文檔之中,形成各種具有絕佳的瀏覽和打印效果的報(bào)表、單據(jù)、手冊(cè)等。

不難看出,結(jié)合PHP、XML、PDF三項(xiàng)技術(shù),構(gòu)造出一種可以在線動(dòng)態(tài)生成PDF文檔的系統(tǒng)是極具現(xiàn)實(shí)意義的,其主要表現(xiàn)在:

·文檔可以在網(wǎng)絡(luò)上生成,并通過網(wǎng)絡(luò)分發(fā)。節(jié)省大量的人力物力。具有精確美觀的打印效果,真正實(shí)現(xiàn)了無紙化辦公。

·電子商務(wù)交易過程中的各種票據(jù)、 憑證都可以通過PHP腳本程序在線生成,并轉(zhuǎn)為PDF格式發(fā)送給客戶。

 ·企業(yè)MIS系統(tǒng)中各種面向打印的報(bào)表的生成,并可直接通過瀏覽器獲得,無須安裝任客戶端,使用極為方便。

·以前文件流轉(zhuǎn)是'先打印,后分發(fā)',每年花在印刷上的費(fèi)用是政府、企業(yè)沉重的負(fù)擔(dān)。而PDF文檔'先散發(fā),后打印',接件人可以在瀏覽后,再按需要打印。印刷的費(fèi)用大大減少。而且,很有利于環(huán)保事業(yè)。

2. 課題簡(jiǎn)介

在某些軟件項(xiàng)目的開發(fā)過程中,我們遇到一個(gè)很關(guān)鍵的問題就是大量面向打印的報(bào)表、單據(jù)的生成。我們知道,HTML適合瀏覽,但不適合格式規(guī)范的打印。因此必需找到一種可以由PHP動(dòng)態(tài)生成,且具有良好的打印效果的文檔格式。而這正是我研究這個(gè)課題的最直接的需求。 明白了這一點(diǎn),我們就很自然的想到了PDF以及PHP的PDF支持庫(kù)PDFLib。通過PDFLib提供的一套API,我們可以很容易在PHP腳本動(dòng)態(tài)創(chuàng)建PDF文檔。但是這只是一套非?;镜暮瘮?shù),只能進(jìn)行一些簡(jiǎn)單的輸出,如線條、文本、矩形框等,而且每輸出一個(gè)對(duì)象之前,都要為其指定坐標(biāo)。如果直接使用來這套函數(shù)來做一些實(shí)際的應(yīng)用,比如復(fù)雜的報(bào)表的生成,其困難程度是難以想象的。我們不可能為創(chuàng)建這樣一個(gè)報(bào)表,而事先算好各個(gè)元素的坐標(biāo),并把單元格用矩形框一個(gè)一個(gè)的畫出來。

所以,我們第一步要做的就是利用PHP面向?qū)ο蟮木幊谭椒▽⑦@套基本的API進(jìn)行封裝,以產(chǎn)生多個(gè)實(shí)用的具有獨(dú)立功能的對(duì)象模塊(如page對(duì)象、table對(duì)象、text對(duì)象等)。應(yīng)該說,這一塊是此項(xiàng)目最基本,也是最重要的部分。我參考并部分采用

了國(guó)外一些類似的開放源碼的程序,在此基礎(chǔ)上開發(fā)出了一套功能較為強(qiáng)大的類庫(kù)。大大簡(jiǎn)化了PDF文檔的生成,特別是其中的table對(duì)象,可以象HTML中的TABLE標(biāo)記一樣任意嵌套,輕松快捷的實(shí)現(xiàn)各種復(fù)雜的表格的繪制(這對(duì)動(dòng)態(tài)生成報(bào)表是非常有用的)。

生成PDF的問題解決以后,我們面臨了新的問題,舉個(gè)例子來說,數(shù)據(jù)庫(kù)查詢頁(yè)面如何將包含大量信息的結(jié)果集以及其它信息傳給PDF生成頁(yè)面? 最初我們想到的方法是通過文本文件傳遞,即在數(shù)據(jù)庫(kù)查詢頁(yè)面將數(shù)據(jù)寫到一個(gè)文本文件當(dāng)中,并對(duì)其

中不同類別的數(shù)據(jù)定義一套區(qū)分的標(biāo)記,PDF生成頁(yè)面讀取此文件,將內(nèi)容插入到PDF中。 但是這樣做,并不可靠。因?yàn)樵谶@個(gè)文本文件中,我們采用特定的字符(或空格)來分離數(shù)據(jù),如果恰好有用數(shù)據(jù)中也包含同樣的字符或空格呢?可見,以這種方式傳遞數(shù)據(jù)是有隱患的。其實(shí)上面我們提到在文本文件中用不同的標(biāo)記區(qū)分不同類別的數(shù)據(jù)。而這正是XML技術(shù)的思想。何不一步到為采用XML來作為數(shù)據(jù)傳遞的手段呢? 況且PHP對(duì)XML和XSLT具有很好的支持,通過expat解析器,我們可以任意提取XML文檔中的數(shù)據(jù),也可以通過PHP的XSLT引擎Sablotron對(duì)XML文檔進(jìn)行任意轉(zhuǎn)換。

首先由“XML生成器”將數(shù)據(jù)(來自數(shù)據(jù)庫(kù)或用戶輸入等)放到一個(gè)符合事先定義好的DTD的XML文檔中,此文檔對(duì)其中的數(shù)據(jù)內(nèi)容進(jìn)行描述,不包含任何格式信息。 然后由“XML轉(zhuǎn)換器”將這個(gè)XML文檔轉(zhuǎn)換成包含顯示樣式信息的另一個(gè)XML文檔。 最后由“PDF生成器”讀取這個(gè)文檔,根據(jù)其中的內(nèi)容和顯示樣式生成相應(yīng)的PDF文檔。在這一個(gè)過程中,我要做的是再次運(yùn)用 PHP的面向?qū)ο筇匦?,?gòu)建出可重用的類:XMLWriter(生成XML文件)、XMLParser(解析XML文件)以及XMLTransformer(對(duì)XSLT函數(shù)的封裝)。

系統(tǒng)構(gòu)建成功后,就是具體的應(yīng)用了。主要是進(jìn)銷存系統(tǒng)中各種報(bào)表、單據(jù)的動(dòng)態(tài)生成。

3. 可行性分析

開發(fā)一個(gè)功能強(qiáng)大、適應(yīng)性好的PDF文檔在線生成系統(tǒng),必然需要彈性大、靈活性

高的開發(fā)模型。我們提出的基于PHP和XML的PDF文檔在線生成技術(shù),為各種面向打印的應(yīng)用,如報(bào)表、單票據(jù)、手冊(cè)等提供了新的思路。我們用PHP來查詢數(shù)據(jù)庫(kù),處理用戶輸入,并在此基礎(chǔ)上生成原始的XML文檔;然后通過XSLT將該XML文檔加上顯示層信息,生成另外一個(gè)新的XML文檔。最后利用“PDF生成器”將這個(gè)新的XML文檔轉(zhuǎn)化為相應(yīng)格式的PDF文檔。對(duì)于最初生成的XML文檔,我可以做二度利用,因?yàn)樵撐臋n包含了所有的有用信息,可以非常容易的被其它應(yīng)用程序處理。如果我們想改變信息在PDF文檔顯示的樣式,可以非常容易的實(shí)現(xiàn)。只要專門人員修改相應(yīng)的XSL樣式單文件即可,不需要對(duì)其它環(huán)節(jié)做任何修改,具有非常好的靈活性。除此之外,PHP、XML、PDF三者都具有極好的可移植性,可以跨平臺(tái)使用。 對(duì)該系統(tǒng)的研究并非憑空想象的,它建立在直接的需求之上的。到目前為止,這套技術(shù)已經(jīng)投入實(shí)際應(yīng)用,收到了極為滿意的效果。實(shí)踐證明,運(yùn)用PHP和XML開發(fā)出的一套在線PDF文檔生成系統(tǒng)具有廣闊和非常實(shí)際的應(yīng)用前景。

4 總體設(shè)計(jì)

本課題主要完成四個(gè)基礎(chǔ)模塊的設(shè)計(jì)及編程實(shí)現(xiàn)。這四個(gè)類模塊分別為PDFCreator、XMLWriter、XMLTransfomer以及XMLParser。它們分布于系統(tǒng)的各個(gè)環(huán)節(jié)之中,具有各自獨(dú)立的功能和作用,是系統(tǒng)的核心組成部分(見下圖)。

系統(tǒng)構(gòu)成圖

從圖中可見,四者在本系統(tǒng)中又是緊密聯(lián)系的有機(jī)整體。XMLWriter作為系統(tǒng)的輸

入接口,負(fù)責(zé)生成原始的XML數(shù)據(jù)文件。該文件的格式規(guī)范(DTD)由我們事先編寫好,而XMLWriter按照該DTD生成相應(yīng)的XML文檔。這個(gè)XML文檔接著交由XMLTransfomer處理,XMLTransfomer其實(shí)是對(duì)PHP提供的XSLT函數(shù)的封裝,它一般接受兩個(gè)參數(shù),其中之一是需要轉(zhuǎn)換的XML文檔,另一個(gè)是相應(yīng)的XSL樣式單文件。XMLTransfomer正是根據(jù)該樣式單文件將原始的XML文檔轉(zhuǎn)化為符合這個(gè)樣式單樣式的另一個(gè)XML文檔(包含信息在PDF文檔中放置的格式)。然后,這個(gè)新的XML文件繼續(xù)交由“PDF生成器”進(jìn)行處理。而這個(gè)過程有分為兩個(gè)部分:首先,必需對(duì)這個(gè)XML文檔進(jìn)行解析,提取其中所需的數(shù)據(jù),這一步有XMLParser來完成,XMLParser對(duì)此XML文檔進(jìn)行解析,將其轉(zhuǎn)化為一棵對(duì)象樹,XML文檔中每一個(gè)節(jié)點(diǎn)都是一個(gè)對(duì)象,每個(gè)對(duì)象都有各自的屬性(即相應(yīng)節(jié)點(diǎn)的所有信息)。這樣一來,我們可以非常方便的訪問這個(gè)XML文檔的任意內(nèi)容。之后,要做的就是將該XML文檔中讀出的信息(包括格式信息和內(nèi)容信息)用PDFCreator轉(zhuǎn)化為最終的PDF文檔的輸出。

5.應(yīng)用示例

在這里,我們運(yùn)用上面的這套系統(tǒng)創(chuàng)建一個(gè)面向打印的報(bào)表——“庫(kù)存歷史事

表”。這個(gè)報(bào)表包含的信息有:報(bào)表名稱(協(xié)和庫(kù)存歷史事務(wù)表)、單位、建表日期等,另外就是從數(shù)據(jù)庫(kù)中提取的數(shù)據(jù)了,品名(LLPROD)、批號(hào)(LLOC)、等級(jí)(LCLS)、倉(cāng)庫(kù)(LWHS)、庫(kù)位(LLOCT)、數(shù)量(LNUM)、日期(LDATE)等。假設(shè)我們已經(jīng)用XMLWriter生成了下面的原始XML文檔(report.xml):

<?xml version='1.0' encoding='gb2312'?>

<report>

<report_param>

<title>庫(kù)存歷史事務(wù)表</title>

<unit>平方米</unit>

<date>20020611</date>

</report_param>

<report_records>

<record>

<llprod>W2308</llprod>

<lloc>1234</lloc>

<lcls>a</lcls>

<lwhs>01</lwhs>

<lloct>0001</lloct>

<lnum>200</lnum>

<ldate>20020609</ldate>

</record>

<record>

<llprod>W2307</llprod>

<lloc>4321</lloc>

<lcls>a</lcls>

<lwhs>01</lwhs>

<lloct>0001</lloct>

<lnum>100</lnum>

<ldate>20020609</ldate>

</record>

</report_records>

</report>

該文檔包含了這張報(bào)表的所有有用信息,我們需要用特定的XSL樣式單為其加上格式信息。XMLTransformer執(zhí)行轉(zhuǎn)換的代碼如下:

<?php

$xslt = new XMLTransformer ('report.xsl', 'report.xml');

$xslt->apply('pdfreport.xml');

?>

轉(zhuǎn)換后生成的新的XML文檔如下:

<?xml version='1.0' encoding='gb2312'?>

<pdfreport pagetype='a4' pagesize='25' top='20' bottom='20' left='20' right='20'>

<head>

<line top='5' bottom='5' size='50%' linetype='single' show='false'/>

<text fontsize='30' fontlaguage='cn' align='center'>庫(kù)存歷史事務(wù)表</text>

<line top='5' bottom='30' size='80%' linetype='double' show='true'/>

<text fontsize='12' fontlaguage='cn' align='left'>單位:平方米</text>

</head>

<body>

<table>

<tr><th>品名</th><th>批號(hào)</th><th>等級(jí)</th><th>倉(cāng)庫(kù)</th><th>庫(kù)位</th><th>數(shù)量</th><th>日期</th></tr>

<tr><td>W2308</td><td>1234</td><td>a</td><td>01</td><td>0001</td><td>200</td><td>20020609</td></tr>

<tr><td>W2307</td><td>4321</td><td>a</td><td>01</td><td>0001</td><td>100</td><td>20020609</td></tr>

</table>

</body>

<foot>

<line top='5' bottom='5' size='50%' linetype='single' show='false'/>

<text fontsize='12' fontlaguage='cn' align='center'>建表日期:20020611</text>

</foot>

</pdfreport>

用XMLParser對(duì)該XML文檔解析后,得到一個(gè)包含所有信息的對(duì)象樹,我們可以非常方便的訪問其中的內(nèi)容。生成的PDF報(bào)表如下圖:

程序片斷如下:

<? include( '../include/pc_init.inc' );?>

<? include( 'xmlparser.inc' );

<?

$xmlobject=getRootNode('report.xml');

// get the attrs of root element

$pageSet=$xmlobject->attrs;

// get;the report-head

$head=$xmlobject->nodes[0];

// code ignored...

?>

<?

function draw_line(&$parent,$line){

$line = &pc_create_object( $parent, 'line' );

$line->pc_set_linestyle( $line->attrs['LINETYPE']);

$line->pc_set_width( $line->attrs['SIZE'] );

$line->pc_set_alignment( 'center' );

if($line->attrs['SHOW']==false){

$line->pc_set_linecolor( 'white' );

}

$line->pc_set_margin( array( 'top' => $line->attrs['TOP'], 'bottom' => $line->attrs['BOTTOM'], 'left' => 0, 'right' => 0 ) );

}

function draw_text(&$parent,$text){

// code ignored...

}

function draw_table(&$parent,$table){

// code ignored...

}

function addhead(&$parent,$head){

for($i=0;$i< $head->n;$i++){

switch ($head->nodes[$i]->name){

case 'LINE':draw_line($parent,$head->nodes[$i]);break;

case 'TEXT':draw_text($parent,$head->nodes[$i]);break;

}

}

}

//..

?>

<?

// Create a PDF Document

$PDF = &pc_create_pdf( array( 'Author' => 'cyman', 'Title' => 'a report example' ) );

// Create an A4-format page

$Page1 = &pc_create_page( $PDF, $pageSet['PAGETYPE']);

addhead($Page1,$head);

$PDF->pc_draw();

?>

6.總結(jié)

在幾個(gè)月來的畢業(yè)設(shè)計(jì)過程中,雖然忙碌,卻非常充實(shí)。通過對(duì)一個(gè)實(shí)際的課題的分析,研究,論證,實(shí)現(xiàn)。感覺收獲頗多。目前,這套系統(tǒng)已投入使用,收到了非常滿意的效果,可以很容易的做出美觀實(shí)用的報(bào)表、單據(jù)等。但是,由于時(shí)間上的倉(cāng)促以及自己水平的有限,這套系統(tǒng)仍有許多不足之處。其中最遺憾就是,沒有能定義出一套對(duì)各種文檔(包括報(bào)表、單據(jù)、手冊(cè)等等)都通用的XML標(biāo)記,并編制通用的程序?qū)⑦@個(gè)XML文檔轉(zhuǎn)化為PDF,就如同瀏覽器解析HTML一樣。這樣就不必為每一種文檔都定義各自的XML標(biāo)記并編寫相對(duì)應(yīng)的轉(zhuǎn)換程序,可以大大提高工作效率。

雖然畢業(yè)設(shè)計(jì)已經(jīng)結(jié)束,但是我將會(huì)今后的日子里繼續(xù)這個(gè)課題的研究。

標(biāo)簽: PHP
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
在线观看精品| 日韩精品2区| 视频精品一区二区| 欧美日韩视频一区二区三区| 99国产精品99久久久久久粉嫩| 红桃视频国产精品| 伊人久久亚洲| 欧美天堂在线| 精品中文字幕一区二区三区四区| 水蜜桃久久夜色精品一区| 正在播放日韩精品| 午夜欧美视频| 香蕉久久久久久| 欧美激情日韩| 久久婷婷丁香| 欧美亚洲国产激情| 免费在线观看视频一区| 欧美视频二区| 成人日韩在线观看| 老牛国产精品一区的观看方式| 亚洲日本欧美| 韩日一区二区| 国产精品日本| 欧美交a欧美精品喷水| 欧美sm一区| 亚洲图片久久| 水蜜桃精品av一区二区| 亚洲免费中文| 麻豆精品在线| 国产日韩综合| 国产日韩高清一区二区三区在线 | 欧美激情亚洲| 久久精品亚洲欧美日韩精品中文字幕| 久久亚洲国产精品一区二区| 国产精品mm| 99国产精品99久久久久久粉嫩| 国产欧美69| 欧美特黄视频| 久久av网站| 欧美综合国产| 日韩.com| 日韩黄色在线观看| 久久精品免费一区二区三区 | 六月天综合网| 成人在线黄色| 日本一区二区中文字幕| 色黄视频在线观看| 欧美一级久久| 国内精品福利| 成人在线免费观看91| 日韩精品a在线观看91| 亚洲一本视频| 麻豆视频在线观看免费网站黄| 青草综合视频| 日韩在线a电影| 久久久久久久久99精品大| 国产精品夜夜夜| 亚洲午夜国产成人| 激情欧美国产欧美| 国精品产品一区| 日本h片久久| 国产精品日本欧美一区二区三区| 成人三级高清视频在线看| 日韩一区二区三区精品| 亚洲精品在线观看91| 涩涩av在线| 成人污污视频| 国产精品一区二区三区av麻| 在线日韩成人| 日韩视频一区| 久久亚洲国产| 精品国产免费人成网站| 国产精品巨作av| 日韩福利视频导航| 久久亚洲一区| 激情欧美亚洲| 久久久久99| 午夜欧美巨大性欧美巨大| 日韩高清不卡一区二区| 免费人成在线不卡| 亚洲综合精品四区| 自由日本语亚洲人高潮| 亚洲va中文在线播放免费| 精品一区二区三区四区五区| 国产精品伦一区二区| 国产一级成人av| 日韩av一级片| 日本欧美在线| 91精品一区| 久久国产精品色av免费看| 日韩黄色在线观看| 日韩一区二区三区在线看| 日日摸夜夜添夜夜添国产精品| 日韩午夜黄色| 香蕉久久久久久久av网站| 久久国产88| 亚洲+小说+欧美+激情+另类| 日韩精品欧美大片| 日韩av中文字幕一区二区三区| 天堂俺去俺来也www久久婷婷| 亚洲日本在线观看视频| 天堂久久av| 国产精品久久久久77777丨| 久久香蕉网站| 欧美日韩国产观看视频| 久久久久久美女精品| 亚洲精华国产欧美| 亚洲网址在线观看| 亚洲精品伊人| 欧美日韩中出| 精品国产网站| 日韩不卡免费高清视频| 午夜久久久久| 日韩成人精品一区二区三区 | 亚洲高清二区| 在线亚洲观看| 日韩精品福利一区二区三区| 国产精品成人自拍| 欧美激情另类| 日本欧美不卡| 美女网站久久| 国产欧美成人| 啪啪国产精品| 在线精品国产亚洲| 免费精品一区| 国产一区日韩一区| 一区二区精品| 精品国产一区二区三区噜噜噜| 欧美天堂视频| 亚洲制服欧美另类| 国产一区二区精品福利地址| 99久久www免费| 日韩欧美中文字幕在线视频| 久久久久九九精品影院| 99视频精品全国免费| 蜜臀久久99精品久久久久久9| 国产精品亚洲成在人线| 国产一二在线播放| 国产亚洲激情| 国产经典一区| 欧美日韩三区| 麻豆精品av| 亚洲aⅴ网站| 老司机精品视频网| 巨乳诱惑日韩免费av| 国产精品黄色片| 黄色日韩精品| 精品久久一区| 五月精品视频| 中文字幕一区日韩精品| 免费视频一区二区三区在线观看| 999久久久亚洲| 国产欧美视频在线| 激情欧美一区二区三区| 国产欧美日韩影院| 欧美日韩国产高清| 欧美aⅴ一区二区三区视频| 一区三区视频| 精品国产美女a久久9999| 免费日本视频一区| 国产黄大片在线观看| 亚洲人成网77777色在线播放| 亚洲国产成人二区| 国产欧美日韩在线观看视频 | 老色鬼精品视频在线观看播放| aa国产精品| 麻豆理论在线观看| 国产精品视频3p| 蜜桃视频免费观看一区| 91精品国产91久久久久久黑人| 国产精品chinese| 老司机精品久久| 久久中文字幕av| 成人精品久久| 久久精品99久久久| 亚洲另类av| 99亚洲视频| 欧美福利一区| 麻豆理论在线观看| 国产精品资源| 日韩精品一区二区三区免费视频 | 在线国产一区| 欧美freesex黑人又粗又大| 麻豆成人在线观看| 国产情侣一区| 青青在线精品| 日韩精品一区二区三区av | 国际精品欧美精品| 国产免费久久| 日韩亚洲精品在线观看| 99riav1国产精品视频| 久久久久久久久99精品大| 久草免费在线视频| 日韩88av| 国产成人精品999在线观看| 国产精品久久国产愉拍| 国产日产精品_国产精品毛片| 日本一区福利在线| 日韩极品在线观看| 日韩av三区|