package mkl.testarea.pdfbox2.analyze;

import java.io.IOException;
import java.io.InputStream;

import org.apache.pdfbox.Loader;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.junit.Test;

/**
 * @author mkl
 */
public class TestClipPathFinder
{
    /**
     * <a href="http://stackoverflow.com/questions/28321374/how-to-get-page-content-height-using-pdfbox">
     * How to get page content height using pdfbox
     * </a>
     * <br/>
     * <a href="http://d.pr/f/137PF">
     * test-pdf4.pdf
     * </a>
     * <br/>
     * <a href="http://d.pr/f/15uBF">
     * test-pdf5.pdf
     * </a>
     * <p>
     * The clip paths found here correspond to the Illustrator compound elements.
     * </p>
     */
    @Test
    public void testTestPdf4() throws IOException
    {
        try (InputStream resource = getClass().getResourceAsStream("test-pdf4.pdf"))
        {
            System.out.println("test-pdf4.pdf");
            PDDocument document = Loader.loadPDF(resource);
            PDPage page = document.getPage(0);
            ClipPathFinder finder = new ClipPathFinder(page);
            finder.findClipPaths();
            
            for (Path path : finder)
            {
                System.out.println(path);
            }
            
            document.close();
        }
    }

    /**
     * <a href="http://stackoverflow.com/questions/28321374/how-to-get-page-content-height-using-pdfbox">
     * How to get page content height using pdfbox
     * </a>
     * <br/>
     * <a href="http://d.pr/f/137PF">
     * test-pdf4.pdf
     * </a>
     * <br/>
     * <a href="http://d.pr/f/15uBF">
     * test-pdf5.pdf
     * </a>
     * <p>
     * The clip paths found here correspond to the Illustrator compound elements.
     * </p>
     */
    @Test
    public void testTestPdf5() throws IOException
    {
        try (InputStream resource = getClass().getResourceAsStream("test-pdf5.pdf"))
        {
            System.out.println("test-pdf5.pdf");
            PDDocument document = Loader.loadPDF(resource);
            PDPage page = document.getPage(0);
            ClipPathFinder finder = new ClipPathFinder(page);
            finder.findClipPaths();
            
            for (Path path : finder)
            {
                System.out.println(path);
            }
            
            document.close();
        }
    }
}