@@ -876,7 +876,7 @@ impl Content {
876876 }
877877}
878878
879- // TODO: Inline images.
879+ // TODO: Inline images. Also check clause 6.1.10 of PDF/A-2 spec.
880880
881881/// XObjects.
882882impl Content {
@@ -992,6 +992,8 @@ impl<'a> PropertyList<'a> {
992992deref ! ( ' a, PropertyList <' a> => Dict <' a>, dict) ;
993993
994994/// Writer for an _actifact property list dictionary_. PDF 1.4+.
995+ ///
996+ /// Required for marking up pagination artifacts in some PDF/A profiles.
995997pub struct Artifact < ' a > {
996998 dict : Dict < ' a > ,
997999}
@@ -1342,6 +1344,8 @@ impl<'a> ExtGraphicsState<'a> {
13421344
13431345 /// Write the `OPM` attribute to set the overprint mode for components that
13441346 /// have been zeroed out. PDF 1.3+.
1347+ ///
1348+ /// Note that this attribute is restricted by PDF/A.
13451349 pub fn overprint_mode ( & mut self , mode : OverprintMode ) -> & mut Self {
13461350 self . pair ( Name ( b"OPM" ) , mode. to_int ( ) ) ;
13471351 self
@@ -1385,6 +1389,8 @@ impl<'a> ExtGraphicsState<'a> {
13851389 }
13861390
13871391 /// Write the `TR` attribute to set the transfer function.
1392+ ///
1393+ /// Note that this key is illegal in PDF/A.
13881394 pub fn transfer ( & mut self , func : Ref ) -> & mut Self {
13891395 self . pair ( Name ( b"TR" ) , func) ;
13901396 self
@@ -1398,6 +1404,8 @@ impl<'a> ExtGraphicsState<'a> {
13981404 }
13991405
14001406 /// Write the `HT` attribute to set the halftone.
1407+ ///
1408+ /// Note that this value may be ignored in PDF/A.
14011409 pub fn halftone ( & mut self , ht : Ref ) -> & mut Self {
14021410 self . pair ( Name ( b"HT" ) , ht) ;
14031411 self
@@ -1411,6 +1419,8 @@ impl<'a> ExtGraphicsState<'a> {
14111419 }
14121420
14131421 /// Write the `FL` attribute to set the flatness tolerance. PDF 1.3+.
1422+ ///
1423+ /// Note that this key may be ignored in PDF/A.
14141424 pub fn flatness ( & mut self , tolerance : f32 ) -> & mut Self {
14151425 self . pair ( Name ( b"FL" ) , tolerance) ;
14161426 self
@@ -1429,30 +1439,40 @@ impl<'a> ExtGraphicsState<'a> {
14291439 }
14301440
14311441 /// Write the `BM` attribute to set the blend mode. PDF 1.4+.
1442+ ///
1443+ /// Note that this key is restricted in PDF/A-1.
14321444 pub fn blend_mode ( & mut self , mode : BlendMode ) -> & mut Self {
14331445 self . pair ( Name ( b"BM" ) , mode. to_name ( ) ) ;
14341446 self
14351447 }
14361448
14371449 /// Start writing the `SMask` attribute. PDF 1.4+.
1450+ ///
1451+ /// Note that this key is forbidden in PDF/A-1.
14381452 pub fn soft_mask ( & mut self ) -> SoftMask < ' _ > {
14391453 self . insert ( Name ( b"SMask" ) ) . start ( )
14401454 }
14411455
14421456 /// Write the `SMask` attribute using a name. PDF 1.4+.
1457+ ///
1458+ /// Note that this key is forbidden in PDF/A-1.
14431459 pub fn soft_mask_name ( & mut self , mask : Name ) -> & mut Self {
14441460 self . pair ( Name ( b"SMask" ) , mask) ;
14451461 self
14461462 }
14471463
14481464 /// Write the `CA` attribute to set the stroking alpha constant. PDF 1.4+.
1465+ ///
1466+ /// Note that this key is restricted in PDF/A-1.
14491467 pub fn stroking_alpha ( & mut self , alpha : f32 ) -> & mut Self {
14501468 self . pair ( Name ( b"CA" ) , alpha) ;
14511469 self
14521470 }
14531471
14541472 /// Write the `ca` attribute to set the non-stroking alpha constant. PDF
14551473 /// 1.4+.
1474+ ///
1475+ /// Note that this key is restricted in PDF/A-1.
14561476 pub fn non_stroking_alpha ( & mut self , alpha : f32 ) -> & mut Self {
14571477 self . pair ( Name ( b"ca" ) , alpha) ;
14581478 self
@@ -1529,6 +1549,9 @@ pub enum OverprintMode {
15291549 /// An overprint operation will only discard the underlying colorant
15301550 /// component (e.g. cyan in CMYK) if the new corresponding colorant is
15311551 /// non-zero.
1552+ ///
1553+ /// Note that this value is forbidden by PDF/A for ICCBased color spaces
1554+ /// when overprinting is enabled.
15321555 IgnoreZeroChannel ,
15331556}
15341557
0 commit comments