What Is fop.jar in fop-2.7-bin.zip

What Is fop.jar? I got it from the fop-2.7-bin.zip.

✍: FYIcenter.com

fop.jar in fop-2.7-bin.zip is the JAR file for FOP 2.7, which is a print formatter driven by XSL formatting objects (XSL-FO). You can obtain fop.jar from the build folder of the fop-2.7-bin.zip file.

Below is the information about the fop.jar (2.2) file:

JAR File Size and Download Location:

JAR name: fop.jar, fop-2.7.jar
Target JDK version: 1.7
File name: fop.jar
File size: 4442817 bytes
Release date: 20-Jan-2022
Download: Apache FOP Website

Java source code files for fop.jar:


 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *      http://www.apache.org/licenses/LICENSE-2.0
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * See the License for the specific language governing permissions and
 * limitations under the License.

/* $Id: CellPart.java 1466146 2013-04-09 17:31:41Z vhennebert $ */

package org.apache.fop.layoutmgr.table;

import org.apache.fop.fo.flow.table.PrimaryGridUnit;

 * Represents a non-divisible part of a grid unit. Used by the table stepper.
class CellPart {

    /** Primary grid unit */
    protected PrimaryGridUnit pgu;
    /** Index of the starting element of this part */
    protected int start;
    /** Index of the ending element of this part */
    protected int end;

    private int condBeforeContentLength;
    private int length;
    private int condAfterContentLength;
    private int bpBeforeNormal;
    private int bpBeforeFirst;
    private int bpAfterNormal;
    private int bpAfterLast;
    private boolean isLast;

     * Creates a new CellPart.
     * @param pgu Primary grid unit
     * @param start starting element
     * @param end ending element
     * @param last true if this cell part is the last one for the cell
     * @param condBeforeContentLength length of the additional content that will have to
     * be displayed if this part will be the first one on the page
     * @param length length of the content represented by this cell part
     * @param condAfterContentLength length of the additional content that will have to be
     * displayed if this part will be the last one on the page
     * @param bpBeforeNormal width of border- and padding-before in the normal case
     * @param bpBeforeFirst width of (possibly optional) border- and padding-before if
     * this part will be the first one on the page
     * @param bpAfterNormal width of border- and padding-after in the normal case
     * @param bpAfterLast width of (possibly optional) border- and padding-after if this
     * part will be the last one on the page
    protected CellPart(PrimaryGridUnit pgu, int start, int end, boolean last,
            int condBeforeContentLength, int length, int condAfterContentLength,
            int bpBeforeNormal, int bpBeforeFirst,
            int bpAfterNormal, int bpAfterLast) {
        this.pgu = pgu;
        this.start = start;
        this.end = end;
        this.isLast = last;
        this.condBeforeContentLength = condBeforeContentLength;
        this.length = length;
        this.condAfterContentLength = condAfterContentLength;
        this.bpBeforeNormal = bpBeforeNormal;
        this.bpBeforeFirst = bpBeforeFirst;
        this.bpAfterNormal = bpAfterNormal;
        this.bpAfterLast = bpAfterLast;

    /** @return true if this part is the first part of a cell */
    public boolean isFirstPart() {
        return (start == 0);

    /** @return true if this part is the last part of a cell */
    boolean isLastPart() {
        return isLast;

    int getBorderPaddingBefore(boolean firstOnPage) {
        if (firstOnPage) {
            return bpBeforeFirst;
        } else {
            return bpBeforeNormal;

    int getBorderPaddingAfter(boolean lastOnPage) {
        if (lastOnPage) {
            return bpAfterLast;
        } else {
            return bpAfterNormal;

    int getConditionalBeforeContentLength() {
        return condBeforeContentLength;

    int getLength() {
        return length;

    int getConditionalAfterContentLength() {
        return condAfterContentLength;

    /** {@inheritDoc} */
    public String toString() {
        StringBuffer sb = new StringBuffer("Part: ");
        sb.append(" [").append(isFirstPart() ? "F" : "-").append(isLastPart() ? "L" : "-");
        sb.append("] ").append(pgu);
        return sb.toString();




Or download all of them as a single archive file:

File name: fop-2.7-src.zip
File size: 3401312 bytes
Release date: 2022-01-20


"fop" Command in fop-2.7-bin.zip

What Is fop-2.7-bin.zip

Download and Installing of FOP 2.x

⇑⇑ FAQ for FOP (Formatting Object Processor)

2016-07-07, 22089👍, 0💬