Ich möchte ein pdf in pdf/a erzeugen. Habe dazu auch schon den allgemeinen Beitrag von saputello gelesen. Dort steht unter anderem auch drin, dass transparente Grafiken nicht unterstützt werden. Deshalb meine Frage, ob man bei TikZ global irgendwie erzwingen kann, dass Transparenz vermieden wird, da ich sehr viele Grafiken habe.

Hier mal ein Beispiel:

Open in Online-Editor
\documentclass{scrartcl}

\usepackage{tikz}

\usetikzlibrary{shapes}

\begin{document}

\newcommand{\ellipse}[4][]{ % 1:other options 2:x-radius 3:y-radius 4:color
    \node[ellipse,minimum width=2*#2,minimum height=2*#3,fill=#4,fill opacity=0.4,#1]
}

\begin{tikzpicture}[
    every node/.style = {legend abstract},
    legend abstract/.style = {
        font=\sffamily#1,
        align=center,
        text=black
    },
    legend/.style = {
        legend abstract = \Large
        ,opacity=0.4
    }
]

% ellipses
\ellipse[rotate=-45]{1.8cm}{3cm}{red} (smell) at (3.2,3) {};
\ellipse[rotate=-45]{3cm}{1.8cm}{blue} (coref) at (1.9,1.9) {};
\ellipse[rotate=45]{1.8cm}{3cm}{orange} (quality) at (2.8,3) {};
\ellipse[rotate=45]{3cm}{1.8cm}{green} (ref) at (4.1,1.9) {};

% boundaries
\ellipse[rotate=-45,black!70,draw]{1.8cm}{3cm}{none} at (3.2,3) {};
\ellipse[rotate=-45,black!70,draw]{3cm}{1.8cm}{none} at (1.9,1.9) {};
\ellipse[rotate=45,black!70,draw]{1.8cm}{3cm}{none} at (2.8,3) {};
\ellipse[rotate=45,black!70,draw]{3cm}{1.8cm}{none} at (4.1,1.9) {};

% labelling
% 1 category
\node at (5.8,2.5)  {R}; 
\node at (0.2,2.5)  {CoR}; 
\node at (1.5,4.8)  {Q}; 
\node at (4.5,4.8)  {SD}; 
% 2 categories
\node at (5.1,3.8)  {R-SD}; 
\node at (4.8,1.5)  {R-Q}; 
\node at (3,0.1)    {R-CoR}; 
\node at (1.2,1.5)  {CoR-SD}; 
\node at (0.9,3.8)  {CoR-Q}; 
\node at (3,4.3)    {Q-SD}; 
% 3 categories
\node at (4.1,3.2)  {R-SD-Q}; 
\node at (3.85,0.75){\footnotesize R-CoR-Q}; 
\node at (2.25,0.75){\footnotesize R-CoR-SD};
\node at (1.9,3.2)  {CoR-SD-Q}; 
% 4 categories
\node at (3,1.8)    {R-CoR-SD-Q};

\end{tikzpicture}

\end{document}

Neben dieser Grafik habe ich noch viele andere, bei denen der opacity-Parameter verwendet wird. Kann man tikz beibringen, gleich die Mischfarbe zu nehmen?

gefragt 27 Jul '15, 11:53

ErnstZ's gravatar image

ErnstZ
61112433
Akzeptiert-Rate: 62%

bearbeitet 20 Aug '15, 19:25

Ok, Minimalbeispiel kommt, wenn ich zu Hause bin. Zumindest habe ich oft die Opacity-Eigenschaft verwendet.

(27 Jul '15, 13:44) ErnstZ

Ohne Minibsp. - möglicherweise hilft der Trick: color=white!99!black.

(29 Jul '15, 12:24) cis

Sorry, für die sehr späte Rückmeldung. Musste eine unfreiwillige Auszeit einlegen. Ich passe meine Frage an und füge ein Minimalbeispiel hinzu.

(20 Aug '15, 19:22) ErnstZ

Mit Acrobat Pro kannst du die Transparenz löschen. Wenn du die Version nicht hast, dann installiere dir eine Testversion.

(22 Aug '15, 12:03) Herbert

Ich habe es nun in der Tat mit einer Testversion von Acrobat Pro gemacht. Das schien mir am einfachsten. Ich akzeptiere Henris Antwort trotzdem, da es eine andere Lösung für meine Frage ist.

(29 Aug '15, 11:26) ErnstZ

Ich kenne eine Möglichkeit Transparenzen zu “flatten”, wobei allerdings der Vektorgrafikcharakter verloren geht. Das PDF wird dabei einfach gerendet.

Gehen wir von folgendem MWE aus:

Open in Online-Editor
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
  \fill[red, opacity=.5] (-.5,0) circle (1);
  \fill[blue,opacity=.5] (+.5,0) circle (1);
\end{tikzpicture}
\end{document}

Wir haben also den Überlapp von zwei Kreisen, welcher transparent sein soll. Im PDF sieht das dann so aus

alt text

Flatten können wir das ganze (zumindest unter Linux) mit der Kommandozeile

$ pdftops test.pdf - | ps2pdf - test-flat.pdf

Wichtig ist dabei, dass man das pdftops aus den xpdf-utils verwendet und nicht pdf2ps von Ghostscript.

Das “geflattete” PDF sieht dann so aus (man beachte den weißen Hintergrund und die kantigen Ränder)

alt text

Die Ränder können entkantet werden, wenn man einfach die Rendering-Auflösung aufdreht, mittels

$ pdftops -r <dpi>

Permanenter link

beantwortet 29 Jul '15, 21:38

Henri's gravatar image

Henri
14.6k53340
Akzeptiert-Rate: 46%

bearbeitet 29 Jul '15, 21:38

Probiere ich auch mal und schaue mir das Ergebnis an.

(20 Aug '15, 19:26) ErnstZ
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×689
×21
×2

gestellte Frage: 27 Jul '15, 11:53

Frage wurde gesehen: 6,972 Mal

zuletzt geändert: 29 Aug '15, 11:26