中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

itextpdf怎么生成PDF

本篇內(nèi)容主要講解“itextpdf怎么生成PDF”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“itextpdf怎么生成PDF”吧!

創(chuàng)新互聯(lián)是一家專業(yè)提供薛城企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、成都做網(wǎng)站、H5頁(yè)面制作、小程序制作等業(yè)務(wù)。10年已為薛城眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。

生成PDF 

package com.sw.busi.license.cites.approve.spi.service.impl.approval;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.Date;

import com.itextpdf.text.Chunk;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Font;
import com.itextpdf.text.Image;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfCopy;
import com.itextpdf.text.pdf.PdfImportedPage;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfPageEventHelper;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfWriter;
import com.sw.busi.common.log.Logger;
import com.sw.busi.common.utils.SEnv;

public class test {
    private static final String HEAD_IMG = "head.jpg";
    private static final String SUPERVISE_END_IMG = "supervise_end.jpg";
    private static final String FONT = "static/fonts/simfang.ttf";
    private static final String FONTHEI = "static/fonts/simhei.ttf";
public static void main(String[] args) {
    
    try {
        byte[] byteDate = createCurCitesApprovalPDF("林護(hù)許準(zhǔn)云【2019】0100007號(hào)", new Date());
        byteDate=createHeanAndEndRedFile(byteDate);
        writeFile("C:/xuexi/", "1.pdf", byteDate);
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    
}
public static byte[] createCurCitesApprovalPDF(String approvNo,Date sendDte) throws Exception{
    ByteArrayOutputStream output = new ByteArrayOutputStream();
    
    URL headUrl = getURLTemplate(HEAD_IMG);//頁(yè)碼上的紅頭標(biāo)題
    URL endUrl = getURLTemplate(SUPERVISE_END_IMG);//每頁(yè)上的尾部紅線
    //拿到字庫(kù)
    String FONT_PATH="E:/Git/busi/cites/sw-citesapprove-parent/citesapprove-server/src/main/webapp/static/fonts/";  //這個(gè)是仿宋體的路勁       測(cè)試的時(shí)候這個(gè)指向本地也行
    String FONTHEI_PATH="E:/Git/busi/cites/sw-citesapprove-parent/citesapprove-server/src/main/webapp/static/fonts/";//這個(gè)是黑體的路勁       測(cè)試的時(shí)候這個(gè)指向本地也行
    //單元測(cè)試文件
    //path = path.substring(1,path.length());// 從路徑字符串中取出工程路勁
    FONT_PATH=FONT_PATH+"simfang.ttf";
    FONTHEI_PATH=FONTHEI_PATH+"simhei.ttf";
    //仿宋體
    BaseFont baseFont = BaseFont.createFont(FONT_PATH,  "Identity-H", BaseFont.EMBEDDED);
    //黑體   文件標(biāo)題用黑體
    BaseFont baseFontHei = BaseFont.createFont(FONTHEI_PATH, "Identity-H", BaseFont.EMBEDDED);
    
    
    
    //創(chuàng)建文本 
    //構(gòu)造函數(shù)  選擇對(duì)應(yīng)的紙張型號(hào),以及左右上下的邊距
    Document document = new Document(PageSize.A4, 35, 35, 110, 60);
    //PDF文件對(duì)應(yīng)的位置可以是指定位置的,也可以是輸出流,輸出流可以寫到硬盤上
    PdfWriter pdfWriter = PdfWriter.getInstance(document, output);
    
    pdfWriter.setPageEvent(new BackGroundImage(headUrl,endUrl));  
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy年M月d日");
    try {  
      //打開文本  
      document.open(); 
      //根據(jù)圖片得到文件頭
      /*Image img1 = Image.getInstance(headUrl);
        img1.setAbsolutePosition(0, 750);//設(shè)置圖片位置
        img1.scaleAbsolute(600, 150);//設(shè)置圖片大小
        document.add(img1);//把圖片添加到PDF文檔
        //得到尾部圖片
        Image img2 = Image.getInstance(endUrl);
        img2.setAbsolutePosition(0, 20);//設(shè)置圖片位置
        img2.scaleAbsolute(600, 50);//設(shè)置圖片所占大小
        document.add(img2);//添加到PDF上
*/        //文件號(hào)      
        //Paragraph fileNumberParagraph = new Paragraph(70);  //這是段落   傳入的值是距離上一段的位置,沒有上一段則是距離邊框的位置
        //fileNumberParagraph.setAlignment(2);//設(shè)置對(duì)齊方式 對(duì)齊方式有三種  分別是 1 2 3  中右左
        //Font font = new Font(baseFont);//得到對(duì)應(yīng)的字
        //font.setSize(16);//設(shè)置字體大小
        //fileNumberParagraph.setFont(font); //設(shè)置字體            
        //Chunk chunk = new Chunk();  //塊,文字區(qū)域,表示一個(gè)區(qū)域,也能放圖片
        //fileNumberParagraph.add(chunk); //把文字區(qū)域放入段落
        //document.add(fileNumberParagraph);//把段落放入文檔
        
       /* CurCitesApprovalHeadVo tempVo=new CurCitesApprovalHeadVo();
        ReflectionUtils.updateBeanData(headBo, tempVo);
        ParaMappingConfig[] configs = new ParaMappingConfig[]{
                // 境外國(guó)家地區(qū)
                new ParaMappingConfig(ParaMappingConfig.sw_app, "iEType", CitesSwPara.CITES_I_E_TYPE.getUserNm(),CitesSwPara.CITES_I_E_TYPE.getParaTypeCd()),// 進(jìn)出口類型
        };
        paraServiceUtil.setParaNameVal2Vo(tempVo, configs, "Text");*/
    
        
         Paragraph title = getParagraph(approvNo, baseFontHei,1,0,22,0,0);
          document.add(title);
        
        
        
        
        //第一段
      StringBuilder noticeText=new StringBuilder();
      noticeText.append("關(guān)于同意");
      noticeText.append("tempVo.getCopName()");
      noticeText.append("tempVo.getiETypeText()");
      noticeText.append("野生動(dòng)植物及其制品的行政許可決定你(單位)的申請(qǐng)材料(");
      noticeText.append("tempVo.getApplyNo()");
      noticeText.append(")收悉。經(jīng)審核,同意你(單位)");
      noticeText.append("tempVo.getiETypeText()");
      noticeText.append("的申請(qǐng),詳見附表");
     
      
      Paragraph noticeOne = getParagraph(noticeText.toString(), baseFont, 3, 20,16,33,24);

        document.add(noticeOne);
      /*************************************************************************************/
      //畫擺表格   
      PdfPTable table = new PdfPTable(7); //傳入的參數(shù)表示有幾列
      
      table.setTotalWidth(520);
      float[] columnWidth={40,100,100,60,60,100,60};//沒列的大小
      table.setTotalWidth(columnWidth);
      table.setLockedWidth(true);
      
      //標(biāo)題與表格中間的距離
      Paragraph p = new Paragraph();
      Font f = new Font(baseFont);//字體
      f.setSize(18);//字體大小
      p.setFont(f);//設(shè)置段落字體
      Chunk c = new Chunk(" ");  
      p.add(c);  
      document.add(p);
      
      
      //表格開始  每一個(gè)cell 對(duì)應(yīng)一列,不滿六列不打印,這個(gè)幾列是自己設(shè)置的   表格每一行必須有列,
      PdfPCell cell = getPdfPCell("序號(hào)",baseFontHei,14,1);//表格第一個(gè)標(biāo)題
      cell.setFixedHeight(40);//設(shè)置表格單元格高度
      table.addCell(cell);
      //表格第2個(gè)標(biāo)題
      cell = getPdfPCell("物種名稱(中文名)",baseFontHei,14,1);
      cell.setFixedHeight(40);//設(shè)置表格單元格高度
      table.addCell(cell);
      //表格第3個(gè)標(biāo)題
      cell = getPdfPCellCenter("物種名稱(拉丁學(xué)名)",baseFontHei);
      cell.setFixedHeight(40);//設(shè)置表格單元格高度
      table.addCell(cell);
      //表格第4個(gè)標(biāo)題
      cell = getPdfPCellCenter("數(shù)量",baseFontHei);
      cell.setFixedHeight(40);//設(shè)置表格單元格高度
      table.addCell(cell);
      //表格第5個(gè)標(biāo)題
      cell = getPdfPCellCenter("單位",baseFontHei);
      cell.setFixedHeight(40);//設(shè)置表格單元格高度
      table.addCell(cell);
      //表格第5個(gè)標(biāo)題
      cell = getPdfPCellCenter("標(biāo)本類型",baseFontHei);
      cell.setFixedHeight(40);//設(shè)置表格單元格高度
      table.addCell(cell);
      //表格第6個(gè)標(biāo)題
      cell = getPdfPCellCenter("境外國(guó)家/地區(qū)",baseFontHei);
      cell.setFixedHeight(40);//設(shè)置表格單元格高度
      table.addCell(cell);
    /*  List<CurCitesSpeListVo> list = citesApprovalVoDao.queryCurCitesSpeListVoByApplyNo(headBo.getApplyNo());
      ParaMappingConfig[] listLonfigs = new ParaMappingConfig[]{
                // 境外國(guó)家地區(qū)
                new ParaMappingConfig(ParaMappingConfig.sw_dep, "abrCounName", "CITES_PARA_COUNTRY")
        };
        paraServiceUtil.setParaNameVal2Vo(list, listLonfigs, "Text");
      //序號(hào)    物種名稱(中文名)    物種名稱(拉丁學(xué)名)    數(shù)量    單位    標(biāo)本類型    境外國(guó)家/地區(qū)
        int num=1;
        //開始編列細(xì)項(xiàng)
        for (CurCitesSpeListVo vo : list) {
            table.addCell(getPdfPCell(num+"",baseFont,12,1));  //這個(gè)是第幾個(gè)物種
            table.addCell(getPdfPCell(vo.getSpeName(),baseFont,12,1));  //
            table.addCell(getPdfPCell(vo.getSpeEname(),baseFont,12,1)); //
            table.addCell(getPdfPCell(vo.getQty().toString(),baseFont,12,3));//
            table.addCell(getPdfPCell(vo.getUnit(),baseFont,12,1));//
            table.addCell(getPdfPCell(vo.getMarkType(),baseFont,12,1));//
            table.addCell(getPdfPCell(vo.getAbrCounNameText(),baseFont,12,1));//
            num++;
        }*/
        for (int i = 1; i <65; i++) {

            table.addCell(getPdfPCell(i+"",baseFont,12,1));  //這個(gè)是第幾個(gè)物種
            table.addCell(getPdfPCell("2",baseFont,12,1));  //
            table.addCell(getPdfPCell("3",baseFont,12,1)); //
            table.addCell(getPdfPCell("4",baseFont,12,3));//
            table.addCell(getPdfPCell("5",baseFont,12,1));//
            table.addCell(getPdfPCell("6",baseFont,12,1));//
            table.addCell(getPdfPCell("7",baseFont,12,1));//
          
        
            
        }
        
        
      document.add(table);
      /*************************************************************************************/
      
      
      StringBuilder noticeTwoText=new StringBuilder();
      noticeTwoText.append("是否需要申請(qǐng)標(biāo)識(shí)?");
      noticeTwoText.append("請(qǐng)你(單位)于");
      noticeTwoText.append("sdf.format(tempVo.getValidDate())");
      noticeTwoText.append("前向國(guó)家瀕危物種進(jìn)出口管理機(jī)構(gòu)辦理《允許進(jìn)出口證明書》,逾期無效。");
      
      //第二段
      Paragraph noticeTwo = getParagraph(noticeTwoText.toString(), baseFont, 3, 20,16,33,24);

      document.add(noticeTwo);
      
      StringBuilder noticeThreeText=new StringBuilder();
      
      /*if("01".equals(tempVo.getDep())){
          noticeThreeText.append("抄送:國(guó)家瀕管辦、");
          noticeThreeText.append(tempVo.getCcDepName());
          noticeThreeText.append("\n");
          noticeThreeText.append("本局發(fā)送:局行政許可辦公室");
          noticeThreeText.append("國(guó)家林業(yè)和草原局  ");
          noticeThreeText.append(sdf.format(sendDte));
          noticeThreeText.append("印發(fā)");
      }else{
          noticeThreeText.append("抄送:國(guó)家林業(yè)和草原局野生動(dòng)植物保護(hù)司、國(guó)家瀕管辦、");
          noticeThreeText.append(tempVo.getCcDepName());
          noticeThreeText.append("\n");
          noticeThreeText.append(headBo.getDepName());
          noticeThreeText.append(sdf.format(sendDte));
          noticeThreeText.append("印發(fā)");
      }*/
     
      
      noticeThreeText.append("抄送:國(guó)家林業(yè)和草原局野生動(dòng)植物保護(hù)司、國(guó)家瀕管辦、");
      noticeThreeText.append("tempVo.getCcDepName()");
      noticeThreeText.append("\n");
      noticeThreeText.append("headBo.getDepName()");
      noticeThreeText.append(sdf.format(sendDte));
      noticeThreeText.append("印發(fā)"); 
      
    
      Paragraph noticeThree = getParagraph(noticeThreeText.toString(), baseFont, 3, 20,16,33,24);
      document.add(noticeThree);
      PdfPageEventHelper aa=new PdfPageEventHelper();
      
      //關(guān)閉文本  
      document.close();  
    } catch (DocumentException e) { 
    } catch (FileNotFoundException e) {  
    }
    return output.toByteArray();
}
public static URL getURLTemplate(String urlAdress) {
    URL url = null;
    String path = "E:/Git/busi/cites/sw-citesapprove-parent/sw-citesapprove-front/src/main/webapp/static/pdfjs/template/";// 得到d:/tomcat/webapps/工程名WEB-INF/classes/路徑
    path=path+urlAdress;
    try {
        // SEnv.WINDOWS獲取當(dāng)前系統(tǒng)操作類型
        if (SEnv.WINDOWS) {
            url = new URL("file", null, path);// String轉(zhuǎn)化成URL
        } else if (SEnv.LINUX || SEnv.SUN_OS) {
            url = new URL("file", null, "/" + path);// String轉(zhuǎn)化成URL
        }

    } catch (Exception e) {
    }
    return url;
}
private static  PdfPCell getPdfPCellCenter(String cellText,BaseFont baseFont) throws Exception{
    //為null會(huì)報(bào)錯(cuò)  防止報(bào)錯(cuò)
    if(cellText==null){
        cellText=" ";
    }
    //表格開始
    Paragraph paragraph = new Paragraph();//為了讓起居中
    paragraph.setAlignment(1);  //對(duì)齊方式
    Font font = new Font(baseFont);//字體
    font.setSize(14);//字體大小
    paragraph.setFont(font);//設(shè)置段落字體
    Chunk chunk = new Chunk(cellText);  
    paragraph.add(chunk);  
    PdfPCell cell = new PdfPCell();
    cell.setMinimumHeight(25);//設(shè)置單元格最小高度,會(huì)隨著數(shù)據(jù)增多而增多
    cell.addElement(paragraph);
    return cell;
}
/**
 * 
 * @param chunkText  段落文本
 * @param baseFont  字體
 * @param alignment //設(shè)置對(duì)齊方式 對(duì)齊方式有三種  分別是 1 2 3  中右左
 * @param leading //是距離上一段的位置,沒有上一段則是距離邊框的位置
 * @param fontSize //字體大小
 * @param firstLineIndent //首行縮進(jìn)
 * @param fixedLeading //行間距
 * @return
 */
private static  Paragraph getParagraph(String chunkText,BaseFont baseFont,int alignment,int leading,int fontSize,int firstLineIndent,
                int fixedLeading ) {
    //為null會(huì)報(bào)錯(cuò)  防止報(bào)錯(cuò)
    if(chunkText==null){
        chunkText=" ";
    }
     //標(biāo)題
    Paragraph paragraph = new Paragraph(leading);
    Font titlefont = new Font(baseFont);
    titlefont.setSize(fontSize);
    
    paragraph.setFirstLineIndent(33); 
    paragraph.setFont(titlefont);
    paragraph.setAlignment(alignment);
    paragraph.setLeading(fixedLeading);
    
    Chunk titleChunk = new Chunk(chunkText);
    paragraph.add(titleChunk);
    return paragraph;
    
}

private static  PdfPCell getPdfPCell(String cellText,BaseFont baseFont,float size,int alignment) throws Exception{
    //為null會(huì)報(bào)錯(cuò)  防止報(bào)錯(cuò)
    if(cellText==null){
        cellText=" ";
    }
    //表格開始
    Paragraph paragraph = new Paragraph();
    paragraph.setAlignment(alignment);  //對(duì)齊方式
    Font font = new Font(baseFont);//字體
    font.setSize(size);//字體大小
    paragraph.setFont(font);//設(shè)置段落字體
    Chunk chunk = new Chunk(cellText);  
    paragraph.add(chunk);  
    PdfPCell cell = new PdfPCell();
    cell.setMinimumHeight(25);//設(shè)置單元格最小高度,會(huì)隨著數(shù)據(jù)增多而增多
    cell.addElement(paragraph);
    return cell;
}


public static void writeFile(String path, String fileName, byte[] content)
        throws IOException {
    try {
        File f = new File(path);
        if (!f.exists()) {
            f.mkdirs();
        }
        FileOutputStream fos = new FileOutputStream(path + fileName);
        fos.write(content);
        fos.close();
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
public static byte[] createHeanAndEndRedFile(byte[] byteDate){
	
	URL headUrl = getURLTemplate(HEAD_IMG);//頁(yè)碼上的紅頭標(biāo)題
	URL endUrl = getURLTemplate(SUPERVISE_END_IMG);//每頁(yè)上的尾部紅線

	

	ByteArrayOutputStream outputEnd = new ByteArrayOutputStream();
    Document documentEnd = null;
    PdfCopy copyEnd = null;
    try {
        PdfReader reader = new PdfReader(byteDate);
        int n = reader.getNumberOfPages();
    	 documentEnd = new Document(reader.getPageSize(1));
    	 
          copyEnd = new PdfCopy(documentEnd, outputEnd);
          documentEnd.open();
         
    	for (int i = 1; i <= n; i++) {
          documentEnd.newPage();
          Image img1 = Image.getInstance(headUrl);
		  img1.setAbsolutePosition(0, 750);//設(shè)置圖片位置
		  img1.scaleAbsolute(600, 150);//設(shè)置圖片大小
		  copyEnd.add(img1);//把圖片添加到PDF文檔
		  //得到尾部圖片
		  Image img2 = Image.getInstance(endUrl);
		  img2.setAbsolutePosition(0, 20);//設(shè)置圖片位置
		  img2.scaleAbsolute(600, 50);//設(shè)置圖片所占大小
		  copyEnd.add(img2);//添加到PDF上
  		  PdfImportedPage pageEnd = copyEnd.getImportedPage(reader, i);
  		  copyEnd.addPage(pageEnd);
  		
  		  
		}
    	
            documentEnd.close();
    } catch (IOException e) {
    	 Logger.error("split pdf file error:{}",e.getMessage(),e);
    } catch(DocumentException e) {
    	 Logger.error("split pdf file error:{}",e.getMessage(),e);
    }

	
    return outputEnd.toByteArray();
}
}

加載背景    每頁(yè)都加上同一個(gè)圖片

package com.sw.busi.license.cites.approve.spi.service.impl.approval;

import java.io.IOException;
import java.net.URL;

import com.itextpdf.text.BadElementException;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Image;
import com.itextpdf.text.pdf.PdfPageEventHelper;
import com.itextpdf.text.pdf.PdfWriter;

/** 
 * @Description: 為每一頁(yè)pdf都生成背景圖片 
 * @author: kylin 
 * @create: 2018-01-08 18:00 
 **/  
public class  BackGroundImage extends PdfPageEventHelper {  
	URL headUrl =null;
	URL endUrl =null;
    public URL getHeadUrl() {
		return headUrl;
	}

	public void setHeadUrl(URL headUrl) {
		this.headUrl = headUrl;
	}

	public URL getEndUrl() {
		return endUrl;
	}

	public void setEndUrl(URL endUrl) {
		this.endUrl = endUrl;
	}

	public BackGroundImage(){  
  
    }  
    public BackGroundImage(URL headUrl,URL endUrl){  
    	this.headUrl = headUrl;  
    	this.endUrl = endUrl;  
    }  
  
    @Override  
    public void onStartPage(PdfWriter pdfWriter, Document document) {  
    	
        try {  
        	Image img1 = Image.getInstance(headUrl);
            img1.setAbsolutePosition(0, 750);//設(shè)置圖片位置
            img1.scaleAbsolute(600, 150);//設(shè)置圖片大小
            document.add(img1);//把圖片添加到PDF文檔
            //得到尾部圖片
            Image img2 = Image.getInstance(endUrl);
            img2.setAbsolutePosition(0, 20);//設(shè)置圖片位置
            img2.scaleAbsolute(600, 50);//設(shè)置圖片所占大小
            document.add(img2);
        	
        } catch (BadElementException e) {  
            e.printStackTrace();  
        } catch (IOException e) {  
            e.printStackTrace();  
        } catch (DocumentException e) {  
            e.printStackTrace();  
        }  
  
        super.onStartPage(pdfWriter, document);  
    }  
}

到此,相信大家對(duì)“itextpdf怎么生成PDF”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

分享標(biāo)題:itextpdf怎么生成PDF
鏈接URL:http://www.rwnh.cn/article14/jiecge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、網(wǎng)站建設(shè)網(wǎng)站設(shè)計(jì)公司、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站排名、網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
聂荣县| 金乡县| 中宁县| 沾化县| 台江县| 姚安县| 金华市| 黄陵县| 遂川县| 荃湾区| 闽侯县| 通许县| 苏尼特右旗| 华安县| 马公市| 自治县| 沂水县| 多伦县| 根河市| 湖北省| 平谷区| 贺兰县| 安陆市| 五大连池市| 廉江市| 安义县| 宁武县| 五原县| 石狮市| 得荣县| 宜阳县| 平潭县| 时尚| 华蓥市| 巴楚县| 河北省| 长丰县| 博客| 衡山县| 伊川县| 永年县|