How to restrict the way to view or print a pdf file
I am searching for a technique by which I can export a pdf file with following features
Prompt a pdf viewer to accept some agreement such that the document can't be viewed until user accepts it
Prompt a pdf viewer to select language so that corresponding content for a selected language is displayed
Gives options while exporting so that the pdf can't be printed or copied by a pdf viewer
One probable solution could be to use javascript in Adobe Pro but I am worried about what updates should my pdf viewers should do with the pdf viewer to enable javascript.
Nothing can prevent a file from being copied/emailed/etc. DRM and certificate security can restrict the identity of the person who can open the file, but moving it about on disk is an operating system task - the file is never opened so it cannot influence the task.
try67 wrote:
You can't prevent a file from being copied, unless you use DRM technology.
Similar Messages
-
I need to get the number of words of pdf files. I usually convert them into word files to get the word count. Some pdf files are protected and can't be converted into word files. Is there another way to get the number of words of these protected pdf files? I use adobe professional XI Pro.
Scroll through and read the answers available in the thread below. You may find the information helpful.
Trying to write Javascript code to get word count
Be well... -
How to Convert the content in BLOB field into a PDF file...
Hi,
I am having PDF files stored in BLOB column of a table in Oracle Database (11G R2).
I want to retrieve the files back and store them in hard disk. I am successful in storing the content as a file with '.doc' but if I store the file as '.pdf', adobe fails to open the file with error
Adobe Reader could not open file 'xxx.pdf' because it is either not a supported file type or because the file has been damaged (for example it was sent as an email attachment and wasn't correctly decoded)
I am using following example code to achieve my goal...
Declare
b blob;
c clob;
buffer VARCHAR2(32767);
buffer_size CONSTANT BINARY_INTEGER := 32767;
amount BINARY_INTEGER;
offset NUMBER(38);
file_handle UTL_FILE.FILE_TYPE;
begin
select blob_data into b from blobdata where id=1;
c := blob2clob(b);
file_handle := UTL_FILE.FOPEN('BLOB2FILE','my_file.pdf','w',buffer_size);
amount := buffer_size;
offset := 1;
WHILE amount >= buffer_size
LOOP
DBMS_LOB.READ(c,amount,offset,buffer);
-- buffer:=replace(buffer,chr(13),'');
offset := offset + amount;
UTL_FILE.PUT(file_handle,buffer);
UTL_FILE.FFLUSH(file_handle);
END LOOP;
UTL_FILE.FCLOSE(file_handle);
end;
create or replace FUNCTION BLOB2CLOB ( p_blob IN BLOB ) RETURN CLOB
-- typecasts BLOB to CLOB (binary conversion)
IS
|| Purpose : To Convert a BLOB File to CLOB File
|| INPUT : BLOB File
|| OUTPUT : CLOB File
|| History: MB V5.0 24.09.2007 RCMS00318572 Initial version
ln_file_check NUMBER;
ln_file_size NUMBER;
v_text_file CLOB;
v_binary_file BLOB;
v_dest_offset INTEGER := 1;
v_src_offset INTEGER := 1;
v_warning INTEGER;
lv_data CLOB;
ln_length NUMBER;
csid VARCHAR2(100) := DBMS_LOB.DEFAULT_CSID;
V_LANG_CONTEXT NUMBER := DBMS_LOB.DEFAULT_LANG_CTX;
BEGIN
DBMS_LOB.createtemporary (v_text_file, TRUE);
SELECT dbms_lob.getlength(p_blob) INTO ln_file_size FROM DUAL;
DBMS_LOB.converttoclob (v_text_file, p_blob, ln_file_size, v_dest_offset, v_src_offset, 0, v_lang_context, v_warning);
SELECT dbms_lob.getlength(v_text_file) INTO ln_length FROM DUAL;
RETURN v_text_file;
END;user755667 wrote:
Hi,
I am having PDF files stored in BLOB column of a table in Oracle Database (11G R2).
I want to retrieve the files back and store them in hard disk. I am successful in storing the content as a file with '.doc' but if I store the file as '.pdf', adobe fails to open the file with error
Adobe Reader could not open file 'xxx.pdf' because it is either not a supported file type or because the file has been damaged (for example it was sent as an email attachment and wasn't correctly decoded)
I am using following example code to achieve my goal...
Declare
b blob;
c clob;
buffer VARCHAR2(32767);
buffer_size CONSTANT BINARY_INTEGER := 32767;
amount BINARY_INTEGER;
offset NUMBER(38);
file_handle UTL_FILE.FILE_TYPE;
begin
select blob_data into b from blobdata where id=1;
c := blob2clob(b);
file_handle := UTL_FILE.FOPEN('BLOB2FILE','my_file.pdf','w',buffer_size);
amount := buffer_size;
offset := 1;
WHILE amount >= buffer_size
LOOP
DBMS_LOB.READ(c,amount,offset,buffer);
-- buffer:=replace(buffer,chr(13),'');
offset := offset + amount;
UTL_FILE.PUT(file_handle,buffer);
UTL_FILE.FFLUSH(file_handle);
END LOOP;
UTL_FILE.FCLOSE(file_handle);
end;
create or replace FUNCTION BLOB2CLOB ( p_blob IN BLOB ) RETURN CLOB
-- typecasts BLOB to CLOB (binary conversion)
IS
|| Purpose : To Convert a BLOB File to CLOB File
|| INPUT : BLOB File
|| OUTPUT : CLOB File
|| History: MB V5.0 24.09.2007 RCMS00318572 Initial version
ln_file_check NUMBER;
ln_file_size NUMBER;
v_text_file CLOB;
v_binary_file BLOB;
v_dest_offset INTEGER := 1;
v_src_offset INTEGER := 1;
v_warning INTEGER;
lv_data CLOB;
ln_length NUMBER;
csid VARCHAR2(100) := DBMS_LOB.DEFAULT_CSID;
V_LANG_CONTEXT NUMBER := DBMS_LOB.DEFAULT_LANG_CTX;
BEGIN
DBMS_LOB.createtemporary (v_text_file, TRUE);
SELECT dbms_lob.getlength(p_blob) INTO ln_file_size FROM DUAL;
DBMS_LOB.converttoclob (v_text_file, p_blob, ln_file_size, v_dest_offset, v_src_offset, 0, v_lang_context, v_warning);
SELECT dbms_lob.getlength(v_text_file) INTO ln_length FROM DUAL;
RETURN v_text_file;
END;I skimmed this and stopped reading when i saw the BLOB to CLOB function.
You can't convert binary data into character based data.
So very likely this is your problem. -
Viewing and printing a PDF file from Java Swing Application
Hello,
I need to view and print PDF files from Java Swing Application.How do I do that?I appreciate your help.
Thank you
Sumana SomareddyIf you have a link to the URL pointing to the PDF file, you can allow the browser to open it. Then use the print function of the browser to print the PDF document.
Regards,
Tak. -
How to restrict the user in MIRO for not modifying price
Hi All
My requirement is How to restrict the users in MIRO screen for not modifying Material Prices of only the for specific ROH types .
For example :
Valuation class RM description
3021 RM - A
3022 RM - B
3024 RM - C
when ever we procure the above Raw materials A,B and C and
the Quantity of each Raw material @ 10 units and value @ 1 INR for each unit
RM - A procured qty 10 @1 total price is INR 10
RM - B procured qty 10 @1 total price is INR 10
RM - C procured qty 10 @1 total price is INR 10
total price of PO is INR 30
when we received invoice material prices are assume it INR 1 is excess for each material.Now the invoice price for each RM has become INR 11.
in MIRO we want restrict the user to change the price from INR 10 to 11.
suggest the best possible ways to restrict in MIRO screen
Thanks & Regards
MalaDear:
Take help of ABABPER fo implement exit using INVOICE_UPDATE or MRMH0003 Logistics Invoice Verification: Revaluation/RAP exit. If this does not help then seek help of MM functional who will help you to find exit for the required task.
rEGARDS -
How to restrict the user from making any changes in Sales order- item level
Hi to all
How to restrict the users from making any changes in sales order at item level if the same sales order is released by senior user through status profile.
Regards
Anish Parikh
Edited by: anish parikh on Jan 24, 2008 5:16 AMHi Anish,
This can be achieved through the roles and authorization.
This can be done through the basis team. they can create user profiles and roles.
For the roles they assign some transaction codes so that they can view the only assigned tr. codes.
Like that ur requirement can be done.
Also u can prevent the user to change any fields in the sales order screen (VA02). for that please modify the authorisations.
Hope i answers.
Reward points if useful.
Edited by: kaleeswaran bhoopathy on Jan 24, 2008 9:57 AM -
How to restrict the display of report variants
Hello All,
I want t know how to restrict the display of report variants.
I mean, when a user saves a variant for his/her purpuse on some report program, only he/she can refer the variant while other users cannot.
I know that by setting the attribute of the variant ("Protect Variant ", "Only Display in Catalog"), this would be possible, but I want to know another way, without this setting.
Thank you for your help in advance.
Regards,Hi,
Can you just try this
DATA:it_varid TYPE TABLE OF varid.
DATA:wa_varid TYPE varid.
INITIALIZATION.
SELECT * FROM varid INTO TABLE it_varid
WHERE report = sy-repid
and ename = sy-uname.
IF sy-subrc = 0.
LOOP AT it_varid INTO wa_varid .
CALL FUNCTION 'RS_SUPPORT_SELECTIONS'
EXPORTING
report = sy-repid
variant = wa_varid-variant
EXCEPTIONS
variant_not_existent = 1
variant_obsolete = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDLOOP.
ENDIF. -
How to restrict the number of Records into the Table?
Is there any way that I can restrict the number of records can be entered into the table?
For example I have created a table TAB1 with size category 0( zero).
User dont want to enter more than 100 values, How to restrict the number entries? Whether Basis can do it?
Regards,
PrathapHi Prathap,
You can write a code in table maintenance events to restrict the number of Records added into the Table to constant.
Solution:
Se11 -> enter table name (TAB1) -> F6 -> Utlities -> Table maint. generator -> Envirnment -> modification -> events -> write here the form routine name.
Double click on routine name. You will get into include section of the code. Write here code like:
IF current_rec_num > 100.
messgae error 'Entry restriceted to 100'
ENDIF.
Somewhat this way you can achieve your target.
Regards,
Sachin -
How to hide the Columns and Views for Login user in SharePoint 2013
Hi Friends,
How to hide the Columns and Views for Login user in SharePoint 2013? Is it possible using OOB features? If not possible how can we hide the Columns and Views for Login user?
Could you please help on this.
Thanks,
Tiru
TiruHello Tirupal,
There is no OOB way to do this.
Please check this codeplex solution to achieve the same.
https://sp2013columnpermission.codeplex.com/
My Blog- http://www.sharepoint-journey.com|
If a post answers your question, please click Mark As Answer on that post and Vote as Helpful -
Need some help understanding the way materialized views are applied through
Hi, I need some help understanding the way materialized views are applied through adpatch.
In patch 1, we have a mv with build mode immediate. When applying it PTS hang due to pool performance of mv refresh.
So we provide patch 2, with that mv build mode deferred, hoping it'll go through. But patch 2 hang too on the same mv.
How does this work? Is that because mv already exists in the database with build immediate, patch 2 will force it to refresh first before changing build mode? How to get over this?
Thanks,
WeiHi Hussein,
Thank you for the response.
Application release is 11.5.10.
Patch 1 is MSC11510: 8639586 ASCP ENGINE RUP#38 PATCH FOR 11.5.10 BRANCH
Patch 2 is MSC11510: 9001833 APCC MSC_PHUB_CUSTOMERS_MV WORKER IS STUCK ON "DB FILE SEQUENTIAL READ" 12 HOURS
The MV is APPS.MSC_PHUB_CUSTOMERS_MV
This happens at customer environment but not reproducable in our internal environment, as our testing data is much smaller.
Taking closer look in the logs, I saw actually when applying both patch 1 and patch 2, MV doesn't exist in the database. So seems my previous assumption is wrong. Still, strange that patch 2 contains only one file which is the MV.xdf, it took 7 hours and finally got killed.
-- patch 1 log
Materialized View Name is MSC_PHUB_CUSTOMERS_MV
Materialized View does not exist in the target database
Executing create Statement
Create Statement is
CREATE MATERIALIZED VIEW "APPS"."MSC_PHUB_CUSTOMERS_MV"
ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 10 MAXTRANS 255 LOGGING
STORAGE(INITIAL 4096 NEXT 131072 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 4 FREELIST GROUPS 4 BUFFER_POOL DEFAULT)
TABLESPACE "APPS_TS_SUMMARY"
BUILD IMMEDIATE
USING INDEX
REFRESH FORCE ON DEMAND
WITH ROWID USING DEFAULT LOCAL ROLLBACK SEGMENT
DISABLE QUERY REWRITE
AS select distinct
from
dual
AD Worker error:
The above program failed. See the error messages listed
above, if any, or see the log and output files for the program.
Time when worker failed: Tue Feb 02 2010 10:01:46
Manager says to quit.
-- patch 2 log
Materialized View Name is MSC_PHUB_CUSTOMERS_MV
Materialized View does not exist in the target database
Executing create Statement
Create Statement is
CREATE MATERIALIZED VIEW "APPS"."MSC_PHUB_CUSTOMERS_MV"
ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 10 MAXTRANS 255 LOGGING
STORAGE(INITIAL 4096 NEXT 131072 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 4 FREELIST GROUPS 4 BUFFER_POOL DEFAULT)
TABLESPACE "APPS_TS_SUMMARY"
BUILD DEFERRED
USING INDEX
REFRESH COMPLETE ON DEMAND
WITH ROWID USING DEFAULT LOCAL ROLLBACK SEGMENT
DISABLE QUERY REWRITE
AS select distinct
from dual
Start time for statement above is Tue Feb 02 10:05:06 GMT 2010
Exception occured ORA-00028: your session has been killed
ORA-00028: your session has been killed
ORA-06512: at "APPS.AD_MV", line 116
ORA-06512: at "APPS.AD_MV", line 258
ORA-06512: at line 1
java.sql.SQLException: ORA-00028: your session has been killed
ORA-00028: your session has been killed
ORA-06512: at "APPS.AD_MV", line 116
ORA-06512: at "APPS.AD_MV", line 258
ORA-06512: at line 1
Exception occured :No more data to read from socket
AD Run Java Command is complete.
Copyright (c) 2002 Oracle Corporation
Redwood Shores, California, USA
AD Java
Version 11.5.0
NOTE: You may not use this utility for custom development
unless you have written permission from Oracle Corporation.
AD Worker error:
The above program failed. See the error messages listed
above, if any, or see the log and output files for the program.
Time when worker failed: Tue Feb 02 2010 19:51:27
Start time for statement above is Tue Feb 02 12:44:52 GMT 2010
End time for statement above is Tue Feb 02 19:51:29 GMT 2010
Thanks,
Wei -
How to restrict the particular value in BEx?
HI,
I have added particular dimension in query prompt. While refreshing i got more value in particular dimension. How to restrict the the value in bobj or bex?
Here i attached the screen shot. Please find the attachment.Hi Mani,
Please make sure of your requirement. If you are using only one single query for multiple reports then i strongly recommend the below criteria or else it better to restrict the value in the BEx itself if you have no other reports on the same BEx query.
If you are trying to restrict a report to a default prompt value then use equal to in query filter prompt or you can also restrict them to list of values i.e multiple values.Please follow as per the screens below. I am mentioning two ways.
Method:1
Step 1: Click on Prompt Options(Blue Questionmark Symbol)
Step: 2 : Click on the Values after you check the prompt properties options as shown below.
Step 3: Search for values if they are keys by checking the "Search in keys" or else not required.
Method 2: Here is another Easy way is Just give the input in the value box as shown below.
Let me know if you need any further help.
Regards,
Naveen -
How to restrict the Number of attachments
Hi All,
I would like to restrict the Number of Attachments,
I found many threads on how to restrict the size on the attachments.
Is there any standard way(profile or setup) to restrict the number of attachments
Other Option is
When the user try to add attachments, I need to get the Entity, PRIMARY key and
query FND_ATTACHED_DOCUMENTS count and through an error message.
Not sure how easy it is.
If anybody tried this requirement please share the logic to achieve the same.
Thanks,
With Regards,
Kali.Hi All,
I have achieved using the below logic, in the ProcessFormRequest,
String eventParam = pageContext.getParameter(EVENT_PARAM);
if("oaAddAttachment".equals(eventParam))
String pkValue = pageContext.getParameter("PKEYID");
String attachmentCountQry = "SELECT count(*) FROM fnd_attached_documents WHERE entity_name = <EONAME> AND pk1_value = "+pkValue ;
//Execute the query and get the count,
int attachmentsCountInt = executeQuery(attachmentCountQry );
if(attachmentsCountInt >=2)
throw new OAException("Add only 2 attachments");
With Regards,
Kali. -
How to restrict the changes in Relesed PO?.
Hi all,
How to restrict the users to make a changes in the Released PO?. User should make the changes only if it is unreleased by the respective codes.
1. Is there any user parameters like functional authorisation?
2. I have already suggested two solutions to the clients that
1. To restrict the authorisation of TCodes ME22n at the user level, but it's not a suitable solution, if user want to make any changes before releasing, then system is not allow to do the changes.
2. I have made release indicator as a 1 - not changeable if it is released, in release strategy settings. But the system is not allowing the all the users including release codes to make the changes?.
If there is any solution, please reply immediately.
with regards,
Raja.hi,
if u set release indicator 1, after release is taken place, for any changes, u need to revoke the release. and then change the PO.
even u cant directly block the changes to already released PO, because, in future if at all qty or some changes is required to change, it should allow u to change! -
How to restrict the job start conditions (only "Immediate" type) ?
Hi,
We allow our users to schedule and execute in background mode transactions (example IP19, IW38). We gave them for that authorizations (object S_BTCH_JOB with LIST, PROT, RELE and SHOW - objetct S_PROGRAM with BTCSUBMIT).
We would like that users can schedule and execute their jobs only with the u201CImmediateu201D job start condition (in the Start Time screen for the type of start condition : Immediate, Date/Time, After job, After event, or At operation mode).
Another solution: prohibit the scheduling and the execution background job in a certain time interval ...
How can restrict the job start conditions ?
Thank you.
Patrice.Hi Jan,
Yes, sa38 makes it possible indeed to execute in background into immediate mode a job but
the user have to know the name of the program to be carried out ...
The user knows only the name of these transactions trade. For example, IW38.
In the menu of this transaction, SAP gives the possibility to execute in background :
Program --> Execute in Background --> display of Start Time screen for the type of start condition :
Immediate, Date/Time, After job, After event, or At operation mode).
It is at this time there that we want that the user can only choose the "immediate" mode.
We must thus prohibit the other choices (Date/Time, After job, After event, or At operation mode) ... and
and we don't know how to restrict these other options in this screen "Start Time screen for the type of start condition".
Thank you.
By. -
How to restrict the department to not user other departments' equipment?
Dear SAPIENTS,
How to restrict the department to not user other departments' equipment? If suppose any one creating order for equipment having different authorization group then system should not allow me to do this.
Regards,
Kaushal RaiKaushal Rai,
Use Authorization group for technical objects, create authorization gruops in IMG and assign the same to the Equipment master and block the other department with the same authorization group. For ristricting the authorization group to other departments after creating and assigning it to the equipment seek help from your BASIS team.
goto the below path for cerating the Authorization group:
IMG - PMCS - Master data in PMCS - Technical Objects - Define Authorization groups:
Here you define the authorization groups, after completion of this step go to the Equipment master in General Data tab page there is a feild Authourization Group, mention the respective authorization group and provide this Authorization gruop value to the respective user in the user role with the help of BASIS Team.
Regards,
Praveen.
Maybe you are looking for
-
PDF launched in/out of CHM window frame
Hi, I have a couple of .chms developed with RH 7. In these, I have a couple of merged CHMs that contain topics whose only function is to launch a PDF file. The HTML/JS code that does this is below. It is not clear to me that this code has anything
-
HT4623 how do i update the app store app on my iphone?
Unfortunately for the last couple of days; when I've stepped into my App Store app and type in an app to download, the screen stays blank. Actually literally EVERY screen within the app store is unresponsive. I do have an iPhone 4S with an underlined
-
Kinda off topic question about Naps
Mod... feel free to close this if you feel you have to. I figured I might get a good response asking this here though. Anyway, I have a Zen Touch and a napster subscription. I liked the idea of being able to basically sample music (via the subscripti
-
I can't install the iTune. It popup and said< "iTunes was not installed correctly. Please reinstall iTunesj Error 7 (Windows error 126). Then I followed the instruction and reinstall, but still can't work. What can I do?
-
SQL Server 2000 Enterprise Edition Compatability with Latest Operating Systems
Hi Team, My client is using SQL Server 2000 Enterprise edition for the database in the Production. Now,We are planning to load that data from SQL 2000 to SQL 2012 and test the functionality. Can you please tell me on which operations systems the SQL