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: CorrespondingPropertyMaker.java 1293736 2012-02-26 02:29:01Z gadams $ */

package org.apache.fop.fo.properties;

import org.apache.fop.fo.FObj;
import org.apache.fop.fo.PropertyList;
import org.apache.fop.fo.expr.PropertyException;

 * Maker class for handling corresponding properties.
public class CorrespondingPropertyMaker {
    /** base property maker */
    protected PropertyMaker baseMaker;
    /** corresponding property for lr-tb writing mode */
    protected int lrtb;
    /** corresponding property for rl-tb writing mode */
    protected int rltb;
    /** corresponding property for tb-rl writing mode */
    protected int tbrl;
    /** corresponding property for tb-lr writing mode */
    protected int tblr;
    /** user parent property list */
    protected boolean useParent;
    private boolean relative;

     * Construct a corresponding property maker.
     * @param baseMaker the base property maker
    public CorrespondingPropertyMaker(PropertyMaker baseMaker) {
        this.baseMaker = baseMaker;

     * Set corresponding property values.
     * @param lrtb a corresponding value
     * @param rltb a corresponding value
     * @param tbrl a corresponding value
     * @param tblr a corresponding value

     * Set corresponding property identifiers.
     * @param lrtb the property that corresponds with lr-tb writing mode
     * @param rltb the property that corresponds with rl-tb writing mode
     * @param tbrl the property that corresponds with tb-lr writing mode
     * @param tblr the property that corresponds with tb-lr writing mode
    public void setCorresponding(int lrtb, int rltb, int tbrl, int tblr) {
        this.lrtb = lrtb;
        this.rltb = rltb;
        this.tbrl = tbrl;
        this.tblr = tblr;

     * Controls whether the PropertyMaker accesses the parent property list or the current
     * property list for determining the writing mode.
     * @param useParent true if the parent property list should be used.
    public void setUseParent(boolean useParent) {
        this.useParent = useParent;

     * Set relative flag.
     * @param relative true if properties operate on a relative direction
    public void setRelative(boolean relative) {
        this.relative = relative;

     * For properties that operate on a relative direction (before, after,
     * start, end) instead of an absolute direction (top, bottom, left,
     * right), this method determines whether a corresponding property
     * is specified on the corresponding absolute direction. For example,
     * the border-start-color property in a lr-tb writing-mode specifies
     * the same thing that the border-left-color property specifies. In this
     * example, if the Maker for the border-start-color property is testing,
     * and if the border-left-color is specified in the properties,
     * this method should return true.
     * @param propertyList collection of properties to be tested
     * @return true iff 1) the property operates on a relative direction,
     * AND 2) the property has a corresponding property on an absolute
     * direction, AND 3) the corresponding property on that absolute
     * direction has been specified in the input properties
    public boolean isCorrespondingForced(PropertyList propertyList) {

        if (!relative) {
            return false;

        PropertyList pList = getWMPropertyList(propertyList);
        if (pList != null) {
            int correspondingId = pList.selectFromWritingMode(lrtb, rltb, tbrl, tblr);

            if (pList.getExplicit(correspondingId) != null) {
                return true;
        return false;

     * Return a Property object representing the value of this property,
     * based on other property values for this FO.
     * A special case is properties which inherit the specified value,
     * rather than the computed value.
     * @param propertyList The PropertyList for the FO.
     * @return Property A computed Property value or null if no rules
     * are specified (in foproperties.xml) to compute the value.
     * @throws PropertyException if a property exception occurs
    public Property compute(PropertyList propertyList) throws PropertyException {
        PropertyList pList = getWMPropertyList(propertyList);
        if (pList == null) {
            return null;
        int correspondingId = pList.selectFromWritingMode(lrtb, rltb, tbrl, tblr);

        Property p = propertyList.getExplicitOrShorthand(correspondingId);
        if (p != null) {
            FObj parentFO = propertyList.getParentFObj();
            p = baseMaker.convertProperty(p, propertyList, parentFO);
        return p;

     * Return the property list to use for fetching writing mode depending property
     * ids.
     * @param pList a property list
     * @return the property list to use
    protected PropertyList getWMPropertyList(PropertyList pList) {
        if (useParent) {
            return pList.getParentPropertyList();
        } else {
            return pList;



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, 6631👍, 0💬