]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
FAQ entry for anti-aliasing artifacts in Adobe Acrobat.
authorJeremias Maerki <jeremias@apache.org>
Mon, 24 Jan 2011 09:55:52 +0000 (09:55 +0000)
committerJeremias Maerki <jeremias@apache.org>
Mon, 24 Jan 2011 09:55:52 +0000 (09:55 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1062710 13f79535-47bb-0310-9956-ffa450edef68

src/documentation/content/xdocs/faq.xml
src/documentation/resources/images/acrobat-anti-aliasing-artifacts.png [new file with mode: 0644]
src/documentation/resources/images/anti-aliasing-artifacts-demo.fo [new file with mode: 0644]

index c2f6cb7ca848844d98b23b8ca228c865021eaa9e..2fd6e16ca46c6d48ba9a60d7471bbeceea022300 100644 (file)
@@ -1016,6 +1016,46 @@ Can I control this?</question>
         </p>
       </answer>
     </faq>
+    <faq id="acrobat-anti-aliasing">
+      <question>How can I get rid of strange single-pixel lines inside table borders or between table cells in Adobe Acrobat?</question>
+      <answer>
+        <p>
+          Since Apache FOP supports the collapsed border model, every border segment consists
+          of two separate shapes. This is due to the fact that each side of the border
+          segment can have a different color. Now, Adobe Acrobat may display thin (1 pixel wide)
+          lines inside the border segment or sometimes even between to adjacent
+          colored rectangles making up the background of a block or table cell.
+          This effect is due to the way Adobe Acrobat does anti-aliasing. Adobe's algorithm
+          seems to cause these artifacts. Other PDF viewers don't have that problem. Or at least
+          we haven't had any reports in that direction.
+        </p>
+        <p>
+          First of all, these artifacts do not appear in print since no anti-aliasing is done
+          by Adobe Acrobat in this case (except maybe if you tell Acrobat to print the page
+          as a bitmap in which case Adobe fully composes the page itself). So, if the artifacts appear
+          on screen, it doesn't mean they have to appear in print, too.
+        </p>
+        <p>
+          To get rid of the artifacts, you can call up the "Preferences" dialog of
+          Adobe Acrobat and select the tab "Page display". Enabling "Enhance thin lines"
+          may help in some situations. Otherwise, you can disable "Smooth line art".
+          You may have to disable "Use 2D graphics acceleration", too, so you can disable
+          "Smooth line art" in the first place.
+        </p>
+        <p>
+          Here an example of how the effect can look like (left: anti-aliasing on, right: anti-aliasing off):
+        </p>
+        <figure src="images/acrobat-anti-aliasing-artifacts.png" alt="Left: anti-aliasing on, Right: off"/>
+        <p>
+          Unfortunately, it is not possible to control the above settings from within the PDF file.
+          The user has to change these settings himself. Improving FOP to avoid this kind of problem
+          would be possible although rather hard to achieve because we'd need to add a considerable
+          amount of code to combine the various line segments. Something like that has been tried already
+          years ago showing that this is a tricky task. Also, the improvement may not justify the amount
+          of effort required.
+        </p>
+      </answer>
+    </faq>
   </part>
   <part id="part-iex">
     <title>IEx specific stuff</title>
diff --git a/src/documentation/resources/images/acrobat-anti-aliasing-artifacts.png b/src/documentation/resources/images/acrobat-anti-aliasing-artifacts.png
new file mode 100644 (file)
index 0000000..db9c23a
Binary files /dev/null and b/src/documentation/resources/images/acrobat-anti-aliasing-artifacts.png differ
diff --git a/src/documentation/resources/images/anti-aliasing-artifacts-demo.fo b/src/documentation/resources/images/anti-aliasing-artifacts-demo.fo
new file mode 100644 (file)
index 0000000..5917e80
--- /dev/null
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+  <fo:layout-master-set>
+    <fo:simple-page-master master-name="page" page-height="3.1cm" page-width="6cm" margin="2mm">
+      <fo:region-body/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+  <fo:page-sequence master-reference="page">
+    <fo:flow flow-name="xsl-region-body">
+      <fo:table table-layout="fixed" inline-progression-dimension="100%">
+        <fo:table-column column-width="50%"/>
+        <fo:table-column column-width="50%"/>
+        <fo:table-body>
+          <fo:table-row>
+            <fo:table-cell border="solid 2mm darkblue">
+              <fo:block>Cell 1/1</fo:block>
+            </fo:table-cell>
+            <fo:table-cell border="solid 2mm darkblue">
+              <fo:block>Cell 2/1</fo:block>
+            </fo:table-cell>
+          </fo:table-row>
+          <fo:table-row>
+            <fo:table-cell border="solid 2mm darkblue">
+              <fo:block>Cell 1/2</fo:block>
+            </fo:table-cell>
+            <fo:table-cell border="solid 2mm darkblue">
+              <fo:block>Cell 2/2</fo:block>
+            </fo:table-cell>
+          </fo:table-row>
+        </fo:table-body>
+      </fo:table>
+
+      <fo:table table-layout="fixed" inline-progression-dimension="100%" space-before="2mm">
+        <fo:table-column column-width="50%"/>
+        <fo:table-column column-width="50%"/>
+        <fo:table-body color="white">
+          <fo:table-row>
+            <fo:table-cell background-color="darkgreen">
+              <fo:block>Cell 1/1</fo:block>
+            </fo:table-cell>
+            <fo:table-cell background-color="darkgreen">
+              <fo:block>Cell 2/1</fo:block>
+            </fo:table-cell>
+          </fo:table-row>
+          <fo:table-row>
+            <fo:table-cell background-color="darkgreen">
+              <fo:block>Cell 1/2</fo:block>
+            </fo:table-cell>
+            <fo:table-cell background-color="darkgreen">
+              <fo:block>Cell 2/2</fo:block>
+            </fo:table-cell>
+          </fo:table-row>
+        </fo:table-body>
+      </fo:table>
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>