cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - You can subscribe to a forum, label or individual post and receive email notifications when someone posts a new topic or reply. Learn more! X

Watermark rev of wt.part on the published drawing

Dmi3U
15-Moonstone

Watermark rev of wt.part on the published drawing

I am hoping somebody already figured it out, and it is not a costly customization...

34 REPLIES 34
MikeLockwood
22-Sapphire I
(To:Dmi3U)

Your terminology is a bit confusing. Do you mean WTPart or (CAD) .PRT?

We include Drawing Number, Name & Version in the watermark. This uses standard watermark configurations (we hard branch to watermark file with state hard coded because this was buggy in the past; may revisit). A printed / emailed drawing is traceable to a single object in the system.
Dmi3U
15-Moonstone
(To:Dmi3U)

Here is to clarify:


The watermark is applied by CreoView/WVS publishing.


The Rev of the WTPart is needed to be on the watermark as well as the date of the release change - we might have rev of the drw different from rev of the WTPart (example: multiassembly drawings)




In Reply to Dmitry Ushamirsky:



I am hoping somebody already figured it out, and it is not a costly customization...

cadjett
1-Visitor
(To:Dmi3U)

Need Help. 1st time trying to implement watermarking for DRW Printing & Viewing.

I followed the ptc tans/tpis/etc & still not working. Below is my prefs file. Attached is my ini file (asf_01.ini).

I would also like to add date & Version, but have not found the proper property. Only found "epmdoc_lifeCycleState".

I have also attached what the General/Watermark preferences & mapping are set to (image prefs.jpg).

server_prefs.xml also attached.

Any help would be appreciated.

Larry Jett
datajett@aol.com, cadjett@aol.com

cadjett
1-Visitor
(To:Dmi3U)

I forgot to attach an image of the settingsfor: Visualization Configuration Administration - Site (viscfg.jpg).

Larry Jett

MikeLockwood
22-Sapphire I
(To:Dmi3U)

One approach (which we use) is to have a number of watermark files, and to have the system select the one needed at the time of viewing - based on current lifecycle state of the parent object. This requires no coding - just configuration thru the Creo View GUI and loading of the resulting text file.

You can have the system use one of a variety of criteria to select which watermark file to apply; in our business, lifecycle state is the only one that makes sense.
[cid:image001.png@01CF263F.FC9EE2A0]

[cid:image002.png@01CF263F.FC9EE2A0]

Note: This benefits greatly from some good discussion with all affected parties. One can choose to

* embed the watermark in the viewable at the time of publishing, or

* select and apply it at the time of viewing.

Embedding it of course requires re-publish after each state change.
Selecting and applying at the time of viewing is elegant and in our opinion the only way to go.

Need to prepare multiple watermark files and load them here
[cid:image003.png@01CF263F.FC9EE2A0]


This stuff is not necessarily all that evident from PTC documentation...

cadjett
1-Visitor
(To:Dmi3U)

Thanks Mike,

Look at my attached files, because I think I am doing what you suggest. But just for simple DRW to show LC State & Date.
Then eventually add Version (dont know the property for that yet. cant find it in support search).

You showed option:

embed the watermark in the viewable at the time of publishing

I am trying to set this up to add watermarks for all DRW PDF's published.

I cant get the watermark to show anywhere. When publishing or just viewing. I am probably just one step off.

Thanks
Larry

cadjett
1-Visitor
(To:Dmi3U)

I did find the properties for Revision & Date:

I am placing them in this message, so others can find them in future searches.

I also attached an excel with them enclosed:

epmdoc_creatorName
WindchillEPM
user name

epmdoc_modifierName
WindchillEPM
Administrator

epmdoc_instance
WindchillEPM
FALSE

epmdoc_cabinetName
WindchillEPM
Default

epmdoc_templated
WindchillEPM
FALSE

epmdoc_businessType
WindchillEPM
EPMDocument

epmdoc_organizationName
WindchillEPM
XXX

epmdoc_modifyTimestamp
WindchillEPM
2014-02-10 09:43:52 CST

epmdoc_versionInfo
WindchillEPM
B

epmdoc_folderingInfo
WindchillEPM
/Default/XXX

epmdoc_name
WindchillEPM
FILL/EXTERNALXXX MANIFOLD

epmdoc_hasVariance
WindchillEPM
FALSE

epmdoc_lifeCycleState
WindchillEPM
Design

epmdoc_CADName
WindchillEPM
XXX09008.drw

epmdoc_generic
WindchillEPM
FALSE

epmdoc_verified
WindchillEPM
TRUE

epmdoc_docType
WindchillEPM
Drawing

epmdoc_displayIdentity
WindchillEPM
Drawing - XXX09008.drw,
B.2

epmdoc_defaultUnit
WindchillEPM
each

epmdoc_formatName
WindchillEPM
NONE

epmdoc_hasHangingChange
WindchillEPM
FALSE

epmdoc_createTimestamp
WindchillEPM
2013-12-12 09:12:05 CST

epmdoc_containerName
WindchillEPM
XXXYYY

epmdoc_lifeCycleBasic
WindchillEPM
TRUE

epmdoc_collapsible
WindchillEPM
FALSE

epmdoc_topGeneric
WindchillEPM
FALSE

epmdoc_hasPendingChange
WindchillEPM
FALSE

epmdoc_creatorEMail
WindchillEPM
xxx@YYY.com

epmdoc_number
WindchillEPM
XXX09008.DRW

epmdoc_lifeCycleName
WindchillEPM
XXX_LC

epmdoc_iterationDisplayIdentifier
WindchillEPM
B.2

epmdoc_ownerApplication
WindchillEPM
Workgroup Manager

epmdoc_missingDependents
WindchillEPM
FALSE

epmdoc_derived
WindchillEPM
FALSE

epmdoc_modifierFullName
WindchillEPM
Site, Administrator

epmdoc_creatorFullName
WindchillEPM
last name,first nme

epmdoc_qualifiedidentifier
WindchillEPM
B.2

epmdoc_revisionNumber
WindchillEPM
144

epmdoc_authoringApplication
WindchillEPM
Creo

epmdoc_placeHolder
WindchillEPM
FALSE

L Jett

tcurry
10-Marble
(To:cadjett)

Lawrence,   I know this is an old thread, but this post with the epmdoc variable names and examples was a huge help for me along with your attachments.  Just wanted to say Thanks

pwilliams-3
12-Amethyst
(To:Dmi3U)

So the title of this thread is "Watermark rev of wt.part..." but so far I have only seen solutions for watermarking EPMDoc properties on the drawing. Does anyone have a solution for watermarking associated wt.part information on the drawing?

Patrick Williams | Engineering Systems | c: 616.947.2110
[cid:image001.jpg@01CF2668.6B805320]
MikeLockwood
22-Sapphire I
(To:Dmi3U)

As far as I know, the viewable of the associated EPMDocument (either drawing or 3D model - configurable globally) is mapped to the WTPart and displayed. No attributes from the WTPart are part of what is displayed in CreoView.

HI Dimitry,


I know that someone who figured it out. I don't think it is costly customization and I thinkthey are pretty affordable. It called the "Stamper" and PLM Worker from Najanaja.com. It is a great self-configurable architected framework that you can query any application (i.e. Windchill) up and down objects to be placed on the drawings as a watermark. I really like the flexibilty of the framework.


I've used Najanaja in the past and had no issues with their support and amazing work. Some many other big companies have used Najanaja as well. I wouldn't waste my time and money with other companies with false promises that has no experience with standard requirements and windchill proper architecture. If you have a tight budget, timeline and want the best custom solutions,give them a shout. Because we all have tons of experience implementing Windchill, I have no issues passing my requirements to them with instant sync'ing of knowledge of business requirements, architectual soluions and expected results. When you have to start to teachthe consulting company how to properly look into up and down Windchill architecture, then you know you should be looking elsewhere. I don't have that issue with Najanaja.


http://www.najanaja.com/?q=products



Patrick

In Reply to Dmitry Ushamirsky:



I am hoping somebody already figured it out, and it is not a costly customization...

In most cases of the drawing I've seen at a lot of companies, it's a combination of attributes coming from:



  • WTPart (number, name, description, entire BOM table)

  • ECNs (ECN #, approvers and dates)

  • ECRs (ECR #, approvers, originators, dates)

  • Change activities (approvers, document impact matrix, date

  • WTDocuments (number, name, description, revision, URL link to content for user guides and manuals)

  • EFFECTIVITY attributes in the usage and reference links between object/where used (different values)

  • Security Labels (confidential, top-secret, for your eyes only)

  • Lifecycle states of the objects mentioned above (WTPart BOMs, ECN's, ECR's, Change Activities, WTDocuments)

  • webservices ties to ERP systems with work stoppage, holds and so forth in case production floor has to read the viewable.

You can use both watermark or the PLM worker to modify the drawing itself to generate a 3rd party image (pdf, iges, tiff, etc). I don't understant why PTC hasn't gotten out of this mindset of Pro/INTRALINK with EPMDocuments and ProE. Much bigger world outside ProE.


Good luck,


Patrick

In Reply to Patrick Chin:



HI Dimitry,


I know that someone who figured it out. I don't think it is costly customization and I thinkthey are pretty affordable. It called the "Stamper" and PLM Worker from Najanaja.com. It is a great self-configurable architected framework that you can query any application (i.e. Windchill) up and down objects to be placed on the drawings as a watermark. I really like the flexibilty of the framework.


I've used Najanaja in the past and had no issues with their support and amazing work. Some many other big companies have used Najanaja as well. I wouldn't waste my time and money with other companies with false promises that has no experience with standard requirements and windchill proper architecture. If you have a tight budget, timeline and want the best custom solutions,give them a shout. Because we all have tons of experience implementing Windchill, I have no issues passing my requirements to them with instant sync'ing of knowledge of business requirements, architectual soluions and expected results. When you have to start to teachthe consulting company how to properly look into up and down Windchill architecture, then you know you should be looking elsewhere. I don't have that issue with Najanaja.


http://www.najanaja.com/?q=products



Patrick

In Reply to Dmitry Ushamirsky:



I am hoping somebody already figured it out, and it is not a costly customization...

GregoryPERASSO
15-Moonstone
(To:Dmi3U)

Hello



not sure that is possible today...


Typically when not watermarking on the Workers side, but directly in the client side.


if you open 3D viz from the EPMdoc info page. you will not have WTpart attributes loaded in Creo View


But if you open the 3Dviz from the WTpart info page where the EPMdoc is linked by owner link. WTpart attributes are loaded. So you can watermark it on 3D annotation.


For drawings, even if you link by content link the drawing to the wtpart. And open it from the info WTpart page. WTPart attributes are not loaded in Drawing viz ..... 😞 So impossible to watermark dynamically the drawing with "WTpart Centric" approach.


Basically . totally remove drawing table from drawings and watermark them "on demand" depending of Context or WTpart strtucture configspec ....


Today, we workaround this by implementing our own "print Drawing" action in WTpart info page.


We use the Itext java library to create a composite PDF file containing a summary page with WTpart attributes, and collect all relating drawings + watermark WTPart revision, state, date , reviewers, etc ...


This action is contextual and can be used with different config spec, to be able to print a "Released" PDF content, ora "prototype" content ... based on our LifeCycle states ...



please vote for my idea "enhance Watermarks in Creo View"


http://communities.ptc.com/ideas/1065D



regards


Gregory

SimonHeath
12-Amethyst
(To:Dmi3U)


My first question is why do you want toWatermark? Our customerstell us
itis tobothprotect the IP of thedata and also to ensure that that data is
not used incorrectly; for example an engineer needs to know he is looking atan
“inwork”and not a“released” drawing, but another reason is that a drawing
should be marked so it is not easily copied.


Whatever happens it is almost impossible to make the data absolutely secure
if it can be downloaded from the system



For me there are various technical options



1. Thedata is “stamped” during publishing or re-publishing, for example
using a PDF library to ensure the stored data is marked



2. The data has a watermark applied to it when it viewed or downloaded with
a viewer



3. The watermark is applied “on the fly” however it is accessed, allowing
context data to be added such as “who downloaded it and when”



We have been working on the last option as it seems to ensure that the data
is always marked correctly for both security and usage reasons,




BR

Simon




cadjett
1-Visitor
(To:Dmi3U)

Gregory.I tried your link & it showed to be deleted &/or didnt work.

Patrick, I cant see going into customizing for watermarks, when I have seen locations that get it to work OOTB. I just cant seem to get it working, because the ptc guides are not to helpful. I also have a ptc call in & they are a day late on their suggested response time. Now if I go somewhere where they want extensive watermarking, I will cant see paying for it, because I have head itext works fine. I think its free, but im not sure.

But I have been at a few locations that have watermarking working, so I imagine it does work somewhere.

I am just trying to get some one that has it working, to look at my files &/or send their files (datajett@aol.com), so I cn put this behind me.

Thanks
Larry Jett

GregoryPERASSO
15-Moonstone
(To:Dmi3U)

Larry


you have to be authenticated with a ptc community account


regards

SimonHeath
12-Amethyst
(To:Dmi3U)

Dear Lawrence,


We had the same doubt with iText and so contacted them to clarify, they made it perfectly clear that we need to pay for a license if we included it in any of our code; we therefore chose a different really free libary to use. I am not sure if this was because Windchill is not open source, or we were providing our code to many clients (we offered to make the PDF tools open source but it was not enough)so I would check yourselves with them if you have any doubts; I find the open-source licensing model confusing when we are talking about custom code used in a single organization.


Regards


Simon

Hi Larry,


I think Najanaja.com PDF stamper (watermark) is free to download. But, give them a call. No matter what you still have to create either a custom query or using QueryBuilder (ootb) to transverse object relationships to get values other than the business principle (workflow) or EPMDocument object.


I can't see paying for anything outside these standard business requirements that is common for all companies. It really should be OOTB. But, like all large software companies, its a slow process but hopefully it becomes OOTB. It really depends on how much workarounds and business risk you want to incureversus immediate success of the implementation.


Patrick

In Reply to Lawrence Jett:



Gregory.I tried your link & it showed to be deleted &/or didnt work.

Patrick, I cant see going into customizing for watermarks, when I have seen locations that get it to work OOTB. I just cant seem to get it working, because the ptc guides are not to helpful. I also have a ptc call in & they are a day late on their suggested response time. Now if I go somewhere where they want extensive watermarking, I will cant see paying for it, because I have head itext works fine. I think its free, but im not sure.

But I have been at a few locations that have watermarking working, so I imagine it does work somewhere.

I am just trying to get some one that has it working, to look at my files &/or send their files (datajett@aol.com), so I cn put this behind me.

Thanks
Larry Jett


cadjett
1-Visitor
(To:Dmi3U)

I did get the watermark to show up for a HPGL/PLT. I have attached the image.

But our publishing (like most) is set to Publish PDF's. The watermark settings are working, but its a publish format issue.

Unless some one knows the route to get those OOTB settings to work on PDF's, without iText or other customizations.

I am not opposed to doing the iText or other customizations, as long as they are free/cheap & dont take a lot of customization time, because I dont think the client is open to that much time spent on something that should be OOTB for PDF's.

Any ideas?

Larry Jett
datajett@aol.com

cc-2
12-Amethyst
(To:Dmi3U)

Hi all

in that just me ?
when I tried to login to

cadjett
1-Visitor
(To:Dmi3U)

I thought I posted this comment, but I cant find it now.

Anyway, I finally seen my waternark work. But on a HPGL/PLT. But we publish all our DRW's to PDF.

Any idea why it will work for PLT & not PDF?

I attached an image that shows the watermark on a PLT.

Larry Jett
datajett@aol.com

cadjett
1-Visitor
(To:Dmi3U)

After 2-3 weeks, I finally got a call back from PTC & they found/knew the way to get the waternarking to show in PDF's

In watermarking, the PDF is considered a Document Page.

So when I assumed I only needed to create a Drawing page with attributes in it, I needed it for Document Page.

The ptc person had me "edit", "copy" the Drawing Page & "edit", "copy to all" from the watermark editor.

Then save that ini file & replace old with new, with same ini file & place back up at site/org, utilities, Visualization
Configuration Administration
, & replace the config ini that was initually up there. the same one the server_prefs.xml points to.

Then all was good.

Let me know if any questions, if this didnt make as much sense as when I typed it.

I attached the new one (afs_03.ini, where the other one I attached before, was afs_01.ini). They are different names now, because I added a couple extra attributes. But the new one cleary show (drawing & document, ecad, etc)

Larry Jett

cadjett
1-Visitor
(To:Dmi3U)

New Dilemma,

I guess I recently realized that the DRW's PDF's that are stored in the windchill vault, are likely published through Reader.

Where the watermarks (ootb windchill &/or creo view) arent applied till you open them into Creo View. You can save, print to pdf & email from there & those PDF's will have the watermark.

But that does no good for automating & placing into the windchill vault & associating to the windchill DRW.

So that means that my previous & current code (shown below), wont allow for download/save of a pdf with watermarking.


Code:

URL:

URL url = data.getViewContentURL(holder);

Download:

ContentServerHelper.service.writeContentStream(data, path);

Does anybody have a route to get pdf's automated either into the vault & associated to the DRW or downloaded to a shared drive, with watermarking.

A route thats not costly or heavy programming. I dont mind the programming, but with things like iText, isnt there a licensing fee?

Is it cheap?

Any ideas, methods?

Thanks
Larry Jett
datajett@aol.com

ddemay
7-Bedrock
(To:Dmi3U)

You can still use iText as long as you do not sell or redistribute what you
are using it for.i.e some PDM utility, that's when it becomes a commercial
license arrangement.


cadjett
1-Visitor
(To:Dmi3U)

Great to hear. I will look into iText then. I will have to see if my current client is willing to spend the time & dime on me doing the coding.

Any idea of how long it should take for a normal developer (myself). Thats means double your time, at least...ha..ha

I just spoke with a ptc support person on watermarking & they also mentioned purchasing Adobe LiveCycle (if I spelled that right) & creating a doc worker. Which he said would create pdf's with watermark. Then also associate it to the DRW in windchill, which wouldplace that pdf into the vault through db meta-data.

Same as publishing with pro & thumbnail worker, I think.

But its a purchased item. Anybody know what the livecycle costs?

Thanks
Larry Jett

cadjett
1-Visitor
(To:Dmi3U)

Well, I started on the lengthy customized watermarking. I like the najanaja & iText route, but after watermarking the downloaded published pdf, I cant get it up to replace the default representation.

I want it there, so if anyone views, downloads, etc, they get the watermarked pdf.

I used updateContent route:

newAppData = wt.content.ContentServerHelper.service.updateContent( holder, newAppData, (java.io.InputStream) is);

But I could only get it to go up as an SECONDARY attachment. I even accidentally got it to go up as PRIMARY & replace the DRW, but I cant find the code to get it to go up as representation, derivedimage, etc & become the default representation.

What am I missing &/or can I even send the watermarked pdf as a rep?

Thanks
L Jett
datajett@aol.com

rhegde
1-Visitor
(To:Dmi3U)

Lawrence,

I can think of two potential solutions to handle this. They are as below:

*Potential Solution 1 (CadConverter extension point)*:

- Write a custom CadConverter
- Update method doDrawingConversion() to call your custom stamping utility
(iText?) and generate stamped PDF
- Compile and deploy your custom CadConverter
- Update wvs.properties to use custom CadConverter in place of OOTB
CadConverter. Search for entries such as:

publish.cadconvert.ACAD

publish.cadconvert.PROE


Draft custom CadConverter is attached to this email.

*Note:*

- I have used this solution to implement certain other behavior

- I have not used this solution to implement stamping/watermarking


*Potential Solution 2
(PublishServiceEvent.PUBLISH_COMPLETE/PUBLISH_SUCCESSFUL listener)*:

- Write a custom listener to listen for PUBLISH_COMPLETE event
- Retrieve the representation object
- Retrieve the ApplicationData for PDF file from representation object
- Download PDF file from the representation
- Call your custom stamping utility (iText?) and generate stamped PDF
- Retrieve streamdata from applicationdata

Streamed streamdata = (Streamed) applicationdata.getStreamData().getObject()

- Store new PDF file using

streamdata.storeStream()


*Note:*

- I have used PUBLISH_SUCCESSFUL event to trigger generation of custom
WTDocuments (to store PDF)

- However, I am not sure, if "storeStream()" can be used to replace
existing content. This has to be validated.


--
Rochan Hegde
Productspace Solutions Inc.

cadjett
1-Visitor
(To:Dmi3U)

Hello & Thanks Rochan,

I am basically using writeContentStream to download:

ContentServerHelper.service.writeContentStream(appdata, theFile.getAbsolutePath() );

I am currently working on my own watermarking through iText. Someone from NajaNaja sent me a link for their watermarking, but I need further iText customizing, because my client needs a date for release state change on pdf.

So I have most of what you spoke of covered.

I currently have code to add the watermarked pdf as an attachment:

newAppData = wt.content.ContentServerHelper.service.updateContent( contentcookie, newAppData, (java.io.InputStream) is);

But the area that you mention you have not verified yet,is why I posted this message.
I cant find the route to create a representation.

I can likely replace the existing default representation, with the new rep, becauseI found that code.

But I just cant find the code to create a representation.

updateContent looks great for adding content, but there doesnt seem to be something as nice or at all, for represenatations.

L Jett

rhegde
1-Visitor
(To:Dmi3U)

Lawrence,

I assume that, PDF files are generated by publishing EPMDoducmnet
(Drawing). You are then using customization to stamp/watermark PDF file.
Also,

- You have the code to store stamped/watermarked PDF as an attachment

- But, you want to store stamped/watermarked PDF as representation


When a publish job is created in Windchill, CadConvert
(CadConvertPROE, CadConvertACAD etc) calls method "doDrawingConversion" to
trigger generation of PDF output file. Once the PDF is generated, Windchill
calls method "storeDrawingRepresentation" to store files as representation.

So, you need to call your customization after "doDrawingConversion" is
called and before "storeDrawingRepresentation" is called. You just have to
replace CAD worker generated PDF file with stamped/watermarked PDF file.
Windchill automatically picks up the PDF and stores it as representation.
You need not have to call any method related to representation. Check the
pseudo code in my earlier email.

--
Rochan Hegde
Productspace Solutions Inc.


Announcements


Top Tags