亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? overlay.java

?? 非常有用的操作pdf文件的java源碼
?? JAVA
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/**
 * Copyright (c) 2003, www.pdfbox.org
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * 1. Redistributions of source code must retain the above copyright notice,
 *    this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright notice,
 *    this list of conditions and the following disclaimer in the documentation
 *    and/or other materials provided with the distribution.
 * 3. Neither the name of pdfbox; nor the names of its
 *    contributors may be used to endorse or promote products derived from this
 *    software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * http://www.pdfbox.org
 *
 */
package org.pdfbox;

import org.pdfbox.cos.COSArray;
import org.pdfbox.cos.COSBase;
import org.pdfbox.cos.COSDictionary;
import org.pdfbox.cos.COSName;
import org.pdfbox.cos.COSStream;
import org.pdfbox.cos.COSInteger;
import org.pdfbox.exceptions.COSVisitorException;
import org.pdfbox.pdfparser.PDFParser;
import org.pdfbox.pdfwriter.COSWriter;

import org.pdfbox.pdmodel.PDDocument;
import org.pdfbox.pdmodel.PDDocumentCatalog;
import org.pdfbox.pdmodel.PDPage;
import org.pdfbox.pdmodel.PDResources;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ByteArrayOutputStream;
import java.io.OutputStream;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.TreeMap;
import java.util.Map;

/**
 * Overlay on document with another one.<br>
 * e.g. Overlay an invoice with your company layout<br>
 * <br>
 * How it (should) work:<br>
 * If the document has 10 pages, and the layout 2 the following is the result:<br>
 * <pre>
 * Document: 1234567890
 * Layout  : 1212121212
 * </pre>
 * <br>
 *
 * @author Mario Ivankovits (mario@ops.co.at)
 * @author <a href="ben@benlitchfield.com">Ben Litchfield</a>
 *
 * @version $Revision: 1.6 $
 */
public class Overlay
{
    /**
     * COSName constant.
     */
    public static final COSName XOBJECT = COSName.getPDFName("XObject");
    /**
     * COSName constant.
     */
    public static final COSName PROC_SET = COSName.getPDFName("ProcSet");
    /**
     * COSName constant.
     */
    public static final COSName EXT_G_STATE = COSName.getPDFName("ExtGState" );

    private List layoutPages = new ArrayList(10);

    private PDDocument pdfOverlay;
    private PDDocument pdfDocument;
    private int pageCount = 0;
    private COSStream saveGraphicsStateStream;
    private COSStream restoreGraphicsStateStream;

    /**
     * This will overlay a document and write out the results.<br/><br/>
     *
     * usage: java org.pdfbox.Overlay &lt;overlay.pdf&gt; &lt;document.pdf&gt; &lt;result.pdf&gt;
     *
     * @param args The command line arguments.
     *
     * @throws IOException If there is an error reading/writing the document.
     * @throws COSVisitorException If there is an error writing the document.
     */
    public static void main( String[] args ) throws IOException, COSVisitorException
    {
        if( args.length != 3 )
        {
            usage();
            System.exit(1);
        }
        else
        {
            PDDocument overlay = null;
            PDDocument pdf = null;

            try
            {
                overlay = getDocument( args[0] );
                pdf = getDocument( args[1] );
                Overlay overlayer = new Overlay();
                overlayer.overlay( overlay, pdf );
                writeDocument( pdf, args[2] );
            }
            finally
            {
                if( overlay != null )
                {
                    overlay.close();
                }
                if( pdf != null )
                {
                    pdf.close();
                }
            }
        }
    }

    private static void writeDocument( PDDocument pdf, String filename ) throws IOException, COSVisitorException
    {
        FileOutputStream output = null;
        COSWriter writer = null;
        try
        {
            output = new FileOutputStream( filename );
            writer = new COSWriter( output );
            writer.write( pdf );
        }
        finally
        {
            if( writer != null )
            {
                writer.close();
            }
            if( output != null )
            {
                output.close();
            }
        }
    }

    private static PDDocument getDocument( String filename ) throws IOException
    {
        FileInputStream input = null;
        PDFParser parser = null;
        PDDocument result = null;
        try
        {
            input = new FileInputStream( filename );
            parser = new PDFParser( input );
            parser.parse();
            result = parser.getPDDocument();
        }
        finally
        {
            if( input != null )
            {
                input.close();
            }
        }
        return result;
    }

    private static void usage()
    {
        System.err.println( "usage: java " + Overlay.class.getName() + "<overlay.pdf> <document.pdf> <result.pdf>" );
    }

    /**
     * Private class.
     */
    private static class LayoutPage
    {
        private final COSBase contents;
        private final COSDictionary res;
        private final Map objectNameMap;

        /**
         * Constructor.
         *
         * @param contentsValue The contents.
         * @param resValue The resource dictionary
         * @param objectNameMapValue The map
         */
        public LayoutPage(COSBase contentsValue, COSDictionary resValue, Map objectNameMapValue)
        {
            contents = contentsValue;
            res = resValue;
            objectNameMap = objectNameMapValue;
        }
    }

    /**
     * This will overlay two documents onto each other.  The overlay document is
     * repeatedly overlayed onto the destination document for every page in the
     * destination.
     *
     * @param overlay The document to copy onto the destination
     * @param destination The file that the overlay should be placed on.
     *
     * @return The destination pdf, same as argument passed in.
     *
     * @throws IOException If there is an error accessing data.
     */
    public PDDocument overlay( PDDocument overlay, PDDocument destination ) throws IOException
    {
        pdfOverlay = overlay;
        pdfDocument = destination;

        PDDocumentCatalog overlayCatalog = pdfOverlay.getDocumentCatalog();
        collectLayoutPages( overlayCatalog.getAllPages() );

        COSDictionary saveGraphicsStateDic = new COSDictionary();
        saveGraphicsStateStream = new COSStream( saveGraphicsStateDic, pdfDocument.getDocument().getScratchFile() );
        OutputStream saveStream = saveGraphicsStateStream.createUnfilteredStream();
        saveStream.write( " q\n".getBytes() );
        saveStream.flush();

        restoreGraphicsStateStream = new COSStream( saveGraphicsStateDic, pdfDocument.getDocument().getScratchFile() );
        OutputStream restoreStream = restoreGraphicsStateStream.createUnfilteredStream();
        restoreStream.write( " Q\n".getBytes() );
        restoreStream.flush();


        PDDocumentCatalog pdfCatalog = pdfDocument.getDocumentCatalog();
        processPages( pdfCatalog.getAllPages() );

        return pdfDocument;
    }

    private void collectLayoutPages( List pages) throws IOException
    {
        Iterator pagesIter = pages.iterator();
        while( pagesIter.hasNext() )
        {

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
最新国产の精品合集bt伙计| 亚洲男人的天堂在线观看| av在线不卡网| 青青草成人在线观看| 亚洲美女在线国产| 久久久久国产一区二区三区四区 | 日韩精品乱码av一区二区| 国产性做久久久久久| 欧美人成免费网站| 波多野结衣中文一区| 久久精品噜噜噜成人av农村| 亚洲自拍偷拍图区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 欧美一级片在线看| 欧美在线观看视频在线| av爱爱亚洲一区| 国产尤物一区二区| 日本午夜一本久久久综合| 一区二区三区小说| 国产精品素人一区二区| 国产欧美一区二区在线观看| 精品日韩在线观看| 日韩欧美国产综合| 欧美一区二区三区四区五区| 欧美日韩三级视频| 欧美性淫爽ww久久久久无| 91啪亚洲精品| 色综合久久88色综合天天| 高清成人免费视频| 高清不卡在线观看av| 国产91色综合久久免费分享| 国产一区二三区| 国产精品一区二区在线播放 | 成人网在线播放| 国产精品99久久久久久宅男| 国产在线精品一区二区不卡了 | 午夜伦欧美伦电影理论片| 亚洲成在线观看| 五月婷婷综合激情| 日日夜夜精品视频免费| 日本不卡在线视频| 久久草av在线| 国产盗摄女厕一区二区三区| 国产在线视频不卡二| 狠狠色综合播放一区二区| 久久国产精品72免费观看| 久久国产三级精品| 激情综合色丁香一区二区| 国产在线不卡一区| 高清shemale亚洲人妖| 国产乱码一区二区三区| 国产99久久久国产精品潘金 | 蜜臀av一区二区在线观看| 免费在线成人网| 久久99精品一区二区三区| 国产福利一区在线| 99国产欧美另类久久久精品| 在线观看国产一区二区| 777久久久精品| 久久久久久久久久久久久女国产乱| 中文字幕高清不卡| 亚洲午夜精品在线| 久久精品国产亚洲一区二区三区 | 国产一区二区在线电影| 亚洲欧美日韩在线不卡| 欧美性大战久久久久久久蜜臀| 精品国免费一区二区三区| aaa欧美色吧激情视频| 日本高清不卡在线观看| 欧美丰满嫩嫩电影| 久久久精品欧美丰满| 国产精品传媒入口麻豆| 亚洲123区在线观看| 国产一区二区三区国产| 99久久精品久久久久久清纯| 欧美日本在线观看| 久久午夜羞羞影院免费观看| 1024精品合集| 另类小说图片综合网| 成人免费电影视频| 在线成人小视频| 国产精品入口麻豆九色| 日本sm残虐另类| 成人免费视频播放| 91精品国产91综合久久蜜臀| 国产精品女主播av| 日本vs亚洲vs韩国一区三区二区| 夫妻av一区二区| 91精品国产高清一区二区三区蜜臀 | 国产精品家庭影院| 日本少妇一区二区| 91在线视频观看| xfplay精品久久| 性欧美大战久久久久久久久| 成人一级视频在线观看| 欧美一区二区黄| 亚洲精品视频在线| 丰满放荡岳乱妇91ww| 欧美一区二区三区视频在线观看| 国产精品久久久久久久久免费桃花 | 亚洲激情校园春色| 国产福利一区二区三区| 欧美一区二区三区精品| 亚洲另类在线制服丝袜| 国产91精品入口| 日韩免费成人网| 午夜电影一区二区三区| 色八戒一区二区三区| 国产欧美一区在线| 国产麻豆一精品一av一免费| 欧美一区二区在线不卡| 亚洲成人av电影| 日本精品视频一区二区| 国产精品免费aⅴ片在线观看| 精品一区二区三区在线视频| 欧美日韩免费一区二区三区| 亚洲欧美激情插| 99在线热播精品免费| 国产欧美日韩另类一区| 国产一区二区三区免费在线观看| 欧美一区二区播放| 日韩av电影免费观看高清完整版| 日本精品一级二级| 一区二区在线观看av| av一区二区三区| 成人欧美一区二区三区白人| 不卡视频一二三四| 国产精品美女久久久久久久网站| 国产99久久久精品| 国产欧美日韩视频在线观看| 国产精一区二区三区| 2021国产精品久久精品| 国产一区二区三区四区在线观看| 精品国产一区二区三区四区四| 精品系列免费在线观看| wwwwww.欧美系列| 国产精品资源在线看| 中文字幕精品一区二区精品绿巨人 | 精品在线观看免费| 欧美不卡一二三| 狠狠色狠狠色综合系列| 国产欧美精品一区| www.爱久久.com| 中文字幕一区av| 在线日韩国产精品| 日本成人在线不卡视频| 亚洲精品在线观看网站| 福利91精品一区二区三区| 日韩美女久久久| 欧美日韩成人一区| 国内精品免费**视频| 国产欧美一区二区精品性| 99久久亚洲一区二区三区青草| 亚洲乱码精品一二三四区日韩在线| 欧美性一二三区| 免费观看成人鲁鲁鲁鲁鲁视频| 日韩免费一区二区三区在线播放| 在线免费观看一区| 午夜欧美电影在线观看| 精品三级在线看| 99热这里都是精品| 午夜成人免费视频| 国产亚洲福利社区一区| 91在线无精精品入口| 午夜久久久久久| 国产欧美一区二区精品久导航| 91麻豆自制传媒国产之光| 午夜激情一区二区三区| 国产视频不卡一区| 欧美性高清videossexo| 韩国v欧美v亚洲v日本v| 一区二区三区精品| 精品国产免费一区二区三区四区| jizz一区二区| 日韩国产欧美三级| 国产日韩欧美a| 欧美日本韩国一区| 粉嫩嫩av羞羞动漫久久久| 亚洲成人资源网| 欧美激情综合五月色丁香小说| 欧美伊人久久久久久久久影院 | 91麻豆精品秘密| 麻豆精品一二三| 亚洲日本va午夜在线电影| 欧美一卡二卡三卡四卡| 99国产精品视频免费观看| 蜜桃av噜噜一区二区三区小说| 亚洲欧洲日产国码二区| 欧美r级在线观看| 欧美性大战久久久久久久蜜臀| 国产成人精品免费看| 丝袜美腿亚洲一区二区图片| 亚洲视频免费在线观看| 99久久免费视频.com| 一区二区国产视频| 国产视频视频一区| 欧美不卡一二三| 色综合久久66| 成人av在线资源网站| 激情文学综合丁香|