4D Tech mailing list wrote
> Hi,
> 
> We want to print a Write Pro document without printing the contained
> pictures
> Say we print to paper that has corporate identity, we don’t want to print
> the logo that is inside the Pro document
> So we want copy the pro document to a new one, and in this new document
> hide/clear the pictures (logo) and then print
> 
> When I set the picture to 0 bytes, the picture is not printed but I see an
> ugly black rectangle around it, so this does not work
> So, is there a way to procedurally hide/clear the pictures
> 
> Gr,
> Piotr

Try something like this as a timesaver


  // ----------------------------------------------------
  // User name (OS): Armin Deeg
  // Date and time: 08.04.19, 14:34:23
  // ----------------------------------------------------
  // Method: WP_ClearPictures
  // Description
  // Clears the pictures inside a WP document and replace them with a 
transparent png
  //
  // Parameters $1 = WParea, $0 = count of replaced pictures
  // ----------------------------------------------------



C_OBJECT($obj;$WP_SourceObject;$1;$obj_section)
C_COLLECTION($collection)
C_LONGINT($i;$n;$posRange;$i_length;$vl_sectinLoop;$vl_Counter;$0)
C_PICTURE($pict)
C_TEXT($text;$vt_expression)
C_REAL($vr_pictSize)
$WP_SourceObject:=$1
READ PICTURE FILE(Tool_GetPath ("4dRes")+"Images"+Folder
separator+"Maske"+Folder separator+"Elemente"+Folder
separator+"transparent.png";$pict)
$collection:=WP Get elements($WP_SourceObject;wk type image inline)
$vl_Counter:=0

$i:=0
$n:=$collection.length
For ($i;0;$n-1)
        $obj:=$collection[$i]
        
        $vr_pictSize:=Picture size($obj.image)
        If ($vr_pictSize>200)
                $vl_Counter:=$vl_Counter+1
                $r:=WP Text range($obj;1;2)
                $oPicts:=WP Picture range($r)
                WP_PictSettings ($oPicts;"Get")  //get width and height
                WP INSERT PICTURE($oPicts;$pict;wk replace;wk include in range)
                WP_PictSettings ($oPicts;"Set")  //set width and height
        End if 
End for 

$collection:=WP Get elements($WP_SourceObject;wk type image anchored)
$i:=0
$n:=$collection.length

For ($i;0;$n-1)
        $obj:=$collection[$i]
        $vr_pictSize:=Picture size($obj.image)
        If ($vr_pictSize>200)
                $vl_Counter:=$vl_Counter+1
                $text:=JSON Stringify($obj)
                If (Position("imageExpression\":\"W";$text)>0)  // check if 
picture comes
from reference
                        WP_PictSettings ($obj;"Get")  //get width and height
                          //WP GET ATTRIBUTES($obj;wk image 
expression;$vt_expression)
                        WP SET ATTRIBUTES($obj;wk image 
expression;"WP_EmptyPicture")  // method
returns a transparent png
                        WP_PictSettings ($obj;"Set")  //set width and height
                Else 
                        WP_PictSettings ($obj;"Get")  //get width and height
                        WP SET ATTRIBUTES($obj;wk image;$pict)
                        WP_PictSettings ($obj;"Set")  //set width and height
                End if 
        End if 
End for 

$0:=$vl_Counter

#########

  //WP_PictSettings

C_OBJECT($1;$obj)
C_TEXT($2;$what)
C_TEXT(wk_text1;wk_text2)
$obj:=$1
$what:=$2
If ($what="Get")
        WP GET ATTRIBUTES($obj;wk width;wk_text1;wk height;wk_text2)
Else 
        WP SET ATTRIBUTES($obj;wk width;wk_text1)
        WP SET ATTRIBUTES($obj;wk height;wk_text2)
End if 

Regards Armin




--
Sent from: http://4d.1045681.n5.nabble.com/4D-Tech-f1376241.html
**********************************************************************
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**********************************************************************

Reply via email to