Border colour of Free Text Annotaion

Hi
I'm using the SDK to Acrobat 9.1 pro, writing a plugin in c++. I wish to change the colour of the border of a free text annotation. I've tried a couple of techniques but they only result in changing the fill colour of the annotation:
PDColorValueRec colourRed;
memset(&colourRed, 0x00, sizeof(colourRed));
colourRed.space = PDDeviceRGB;
colourRed.value[0] = fixedOne;
colourRed.value[1] = fixedZero;
colourRed.value[2] = fixedZero;
PDAnnotSetColor(annot, &colourRed);
CosObj arrayObj, floatObj;
arrayObj = CosNewArray(cDoc, false, 3);
CosArrayPut(arrayObj, 0, CosNewFloat(cDoc, false, 1));
CosArrayPut(arrayObj, 1, CosNewFloat(cDoc, false, 0));
CosArrayPut(arrayObj, 2, CosNewFloat(cDoc, false, 0));
CosDictPutKeyString(annot, "C", arrayObj);
I've scanned the section in the PDF specification regarding annotation dictionaries, and it seems the C key only governs the colour of the border when the annotation is a Link annotation, and I can't find any other way of defining the border colour. Yet I can still change the colour of the border using Acrobat, which leads me to believe that it's done in a non-standard but nonetheless valid way. The BS (borderstyle) key defines the style of the border but maked no mention of the colour of the border.
Am I trying to do the impossible?

Thanks Irosenth, that worked for me. I was adding a DS key to style the rich text contents, but it seems I also need to specify the DA key in order to change the border colour. For those interested, the string "1 0 0 rg /Helv 12 Tf" gave me the plain red border I was after.
Andrew.

Similar Messages

  • Automatic PO creation of free text PR

    Hi!
    We have all our PRs in free text since we are not yet using material master. One of our purchase organization will only order from one vendor and they will enter that vendor and price in the PR. Is it possible to create a PO automatically from that PR without a material or source list?
    Sincerely
    Anders

    Hi
    Thank you very much. Is it possible to restrict the automatic creation to a certain purchase organization?
    If I understand you right:
    1) Create PR with item category D Service
    2) Activate automatic PO creation in ML91
    That will create POs for all PRs created as a service?
    Sincerely
    Anders

  • Automatic PO from PR [free text base procurement ]

    Hi SAP gurus ,
    I have following question ,
    I am not using material master , it is a free text base procurement .
    even there are no contracts in place .
    Purchasing is only PR - PO w.r.t. & without respect to PR  - GR - IV . etc.
    How can I create a Automatic PO w.r.t. PR ?
    Can anybody please advice?
    Thanks ,
    Prasad

    Hello,
    1. Check auto PO tick in Vendor Master record.
    2. Create Info record for material group which you are going to use in PR. This is important for net price, purchasing group and tax code which will be mandatory in PO.
    3. Assign Source of supply as this info record in PR.
    4. Create auto PO in ME59N t- code.
    Regards,
    Shailesh Mackwan

  • I have an iPhone 4S and my friend has two ipods with two Apple ID's.  Why can't he receive messages on "Message" on one and he uses a free text app on the other which receives messages from my phone just fine.

    My friend has two ipods.  Two Apple ID's and on one ipod he has a free text app on it and only Message on the other.  He cannot receive a message from my iphone 4S on the one with Message, but receives it fine on the one with the free text app.
    He can also receive a message from my iPad on the one with Message.
    My question is how can he recieve a text from my iPhone to the ipod which has a different Apple ID than the other but does not have a free text app?
    Also on the ipod he has the free text app he has not upgraded to ios7 and won't.

    Are the use the correct email address for the contact? Those are listed in Settings>Messages>Send and Receive. When Messaging somene the iOS devices used the email address (or phone number if applicable) listed in the Contact app for that person.
    Thus, it appears the you Contact apps only has that one email address listed for the person you are trying to Message.
    If he can send you a Messages can you reply to it? If so save the sender to your Contact app.

  • Free text Reading Problem

    Hi All,
    I am using set_text_as_r3table of class cl_gui_textedit after creating a container .This is called from another screen.
    Now if I am trying to read  the text using either GET_SELECTED_TEXT_AS_R3TABLE and GET_SELECTED_TEXT_AS_STREAM, for the first time its reading fine but if I enter text and then press cancel ( I have save and cancel buttons in the screen ) and goes back to first screen and again come to the screen where there is Free text  then it still shows the Text even though i use DELETE_TEXT  ...Flush...buffer refresh etc etc....I tried clearing container objects as well b4 creating new objects.Still there is no help.
    Is there any thing that I am missing ?
    Any help is appreciated.
    BR,
    krishna.

    Hi Guys...thanks for the interest .I already tried those but with no luck.I also tried Free method but it gives me a dump for someother reason.
    Its really strange as if I read that text it shows the internal table is empty.So potentially it is deleting the text but some how the screen is holding that value.
    any help is appreciated.
    BR,
    Krishna.

  • Free Text in Sales Order

    Hi ,
    How can we fetch the free text for a Sales Order .
    Any inputs on the same would be very helpful.
    Thanks

    Hi,
    It is just like fetching any other long text.
    You need to use the function module READ_TEXT.
    Pass the following parameters to it:
    1. Text Name
    2. Language
    3. Text ID
    4. Text Object
    You can get the values of these parameter from sales order itself.
    Go to Sales order (VA03). Enter a sales order & go inside it.
    Go to item level & select the tab 'Texts'
    In the left hand side, there will be a tree control containing text types.
    Select a text type which contains any text.
    Then click the lens button at the bottom (in the toolbar).
    The text will appear in SAP Script Editor.
    Then from the menu, select GOTO -> HEADER.
    A popup will appear with the parameter values.
    Pass these parameter values to the FM READ_TEXT & it will return you the long text.
    Hope that helps.
    Thanks,
    Saurabh

  • Enforcing free text in Transport request

    Hello Experts,
    I would like to inquire if there is a possible way to restrict or control the Short description of transport request? We have a naming convention but users are not adharing to standard standard name convension. Standard naming convention is a necessity so that we can identify quickly the ones that needs to be transported, or the ones that needs to be deleted during clean up activities. This should be strictly followed by users, instructors, trainees and developers. This naming convention needs to be strictly followed by developers to avoid their asset objects to be deleted in the system.
    For example, Our Standard name convension is <string><md><c><9999999>FREETEXT
    String = 2 char alpha numberic charactor
    MD = Module
    C = One charactor
    9999999 = Incident or CR number
    Then free text
    we want to restrict this. so if the end-user named the TR with anything else that does not follow the naming convention we have established, the end-user should encounter an error stating the he/she must change the name of the TR and follow our naming convention before he/she could proceed.
    Looking for good solution which can be easily implemented.
    regards
    Kishore

    Hi,
    Double click the request and change. There is a documentation tab. Enter the text there and save.
    Pranav

  • Urgent clearing data in container for free text

    I HAVE A CONTAINER FOR FREE TEXT.
    I HAVE A CREATE BUTTON IN MY SCREEN EWHEN I PRESS CREATE IT ASKD FOR ID AND FREE TEXT THEN I SAVE  AND IT GETS SAVED IN A ZTALE TABLE.
    WHEN AFTER SAVING IT I GO TO INITIAL SCREEN AND PRESS CREATE AGAIN THEN IT ASKS FOR ID AND IN THE CONTAINER I SEE THE FPREVIOUS TEXT.
    CAN YOU GUYS LET ME KNOW AS TO WHAT I NEED TO DO.
    I TREID CLEARING AND REFRESHING MYTABLE WHICH I HAVE USED IN THE FOLLOWING CODE.
    pbo
    if editor is initial.
    CREATE OBJECT TEXTEDIT_CUSTOM_CONTAINER
    EXPORTING
    CONTAINER_NAME = 'TEXTEDITOR1'
    EXCEPTIONS
    CNTL_ERROR = 1
    CNTL_SYSTEM_ERROR = 2
    CREATE_ERROR = 3
    LIFETIME_ERROR = 4
    LIFETIME_DYNPRO_DYNPRO_LINK = 5.
    IF SY-SUBRC NE 0.
    add your handling
    ENDIF.
    CREATE OBJECT EDITOR
    EXPORTING
    PARENT = TEXTEDIT_CUSTOM_CONTAINER
    WORDWRAP_MODE = CL_GUI_TEXTEDIT=>WORDWRAP_AT_FIXED_POSITION
    WORDWRAP_TO_LINEBREAK_MODE = CL_GUI_TEXTEDIT=>FALSE
    EXCEPTIONS
    OTHERS = 1.
    refresh mytable.
    call METHOD editor->SET_TOOLBAR_MODE
    EXPORTING TOOLBAR_MODE = 0.
    *call METHOD editor->SET_ENABLE
    *EXPORTING ENABLE = ' '.
    CALL METHOD editor->set_readonly_mode
    EXPORTING
    readonly_mode = 1.
    ENDIF.
    CLEAR MYTABLE.
    FREE MYTABLE.
    endif.
    IF SY-SUBRC NE 0.
    CALL FUNCTION 'POPUP_TO_INFORM'
    EXPORTING
    TITEL = V_REPID "--> program name
    TXT2 = SPACE
    TXT1 = 'Error in flush'.
    ENDIF.
    tHANKS
    let me know
    swathi

    For example, this program works really well with saving long text using the SAVE_TEXT function.  Here you need to create the object/id in SE75.  For this program you enter the id on the right like 999999 and enter the text on the left, execute and the text is saved, now change the id to 999998 and hit enter, notice the text is blank, now enter 999999 again, notice the text for this id has come back,  this is because the program uses READ_TEXT to retrieve the text.
    report zrich_0001.
    data:
          dockingleft  type ref to cl_gui_docking_container,
          text_editor    type ref to cl_gui_textedit,
          repid type syrepid.
    data: begin of header.
            include structure thead.
    data: end of header.
    data: begin of lines occurs 0.
            include structure tline.
    data: end of lines.
    data: textlines type table of tline-tdline,
          wa_text type tline-tdline.
    data: xthead type thead.
    parameters: p_id(10) type c.
    at selection-screen.
      if p_id is initial.
        message e001(00) with 'Enter an ID'.
      endif.
    at selection-screen output.
      repid = sy-repid.
      if dockingleft is initial.
        create object dockingleft
                    exporting repid     = repid
                              dynnr     = sy-dynnr
                              side      = dockingleft->dock_at_left
                              extension = 300.
        create object text_editor
                    exporting
                         parent     = dockingleft.
      endif.
      if p_id <> space.
        xthead-tdobject = 'ZPT_DET'.
        xthead-tdid     = 'Z001'.
        xthead-tdname = p_id.
        clear lines. refresh lines.
        call function 'READ_TEXT'
          exporting
            id                            = xthead-tdid
            language                      = sy-langu
            name                          = xthead-tdname
            object                        = xthead-tdobject
          tables
            lines                         = lines
         exceptions
           id                            = 1
           language                      = 2
           name                          = 3
           not_found                     = 4
           object                        = 5
           reference_check               = 6
           wrong_access_to_archive       = 7
           others                        = 8.
        clear textlines.
        loop at lines.
          wa_text = lines-tdline.
          append wa_text to textlines.
        endloop.
      endif.
      call method text_editor->set_text_as_r3table
         exporting
               table              = textlines
         exceptions
               others             = 1.
    start-of-selection.
      call method text_editor->get_text_as_r3table
         importing
               table              = textlines
         exceptions
               others             = 1.
    * Set SAPscript Header
      clear header.
      header-tdname =  p_id .         "Name
      header-tdobject = 'ZPT_DET'.       "Object
      header-tdid = 'Z001'.              "Id
      header-tdspras = sy-langu.
    * Move text from container to function module table
      clear  lines.  refresh lines.
      loop at textlines into wa_text .
        lines-tdline = wa_text.
        append lines .
      endloop.
      call function 'SAVE_TEXT'
           exporting
                client   = sy-mandt
                header   = header
           tables
                lines    = lines
           exceptions
                id       = 1
                language = 2
                name     = 3
                object   = 4
                others   = 5.
    Yes, this is implemented using a selection screen, but the same principals apply and this can  be easily converted to a dynpro application.
    Regards,
    Rich Heilman

  • DTW: Field length of Free Text Business Partner

    Hi,
    i got an error while importing a text which is more than 100 bytes.
    The database looks like this attribut has 64000 bytes !?
    What can i try?

    Thx for answering!
    My fault, i simply changed "notes" and "free text"
    Sorry!

  • RESULTS RECORDING WITH FREE TEXT IN QUALITY MANAGEMENT

    Hi,
    How can I give free text of 300 chars In results recording? For a process order with batch number & recipe, (in which master inspection characteristics are mentioned which are linked to general characteristics.)
    I created characteristics (type CHAR)(which can be used as free text in results recording ) I have created class, assigned chars to class & finally to material. Also assigned MIC to this class chars.
    When I do results recording I need to have these characteristics to be display as free text of 30character width. But since I have to give selected set for this general chars.(which is the system requirement) I have given  selected set while creation of characteristics.
    Due to this I can only select the codes from the selected set. Is there any process in which I can write free text up to 30 cars during results recording in quality module? & those characteristics I want to assign to MIC so that when process order is executed the first operation of quality can be done for RR.
    With Regards,
    Kareena

    Hi Kareena,
    All of first let me make it clear, if you will assign a Class Characteristic to the MIC, then it will become either Qualitative or QNT.
    Now toeards your questions solution.
    Option:-1
    As suggested by Venkatr, make the control indicator "Docu. Req" in the MIC control indicator set, page:-2. for the line item of MIC in the insepction plan.
    So, the system will prompt you a message to insert a text as described by Venkat, where you can enter the Long text also (Check the button available in the lower part of that small window)
    Option:-2
    Create a document type for this purpose, and assign a file, having 300 char. to the MIC, with the help of the "Object Link" function of SAP, avaialble with RR screen also.
    Reagrds,
    Shyamal

  • Intercompany Exchange of NLAG materials or free text items

    Hi,
    in my company we have set up the intercompany procurement process according to the SAP standard. Means when one company places a PO with another group company (different comp code) a delivery is created against this PO. Now the companies want to start procuring either NLAG materials or free text items which leads to an error message ME124 "Material not subj. to inventory mgmt. in plant" for NLAG or error 06806 "Procurement w/o material from vendor with plant assignment not defined".
    Any ideas how to overcome this?
    Regards,
    St

    Hello Stefan Teckenbr,
    Please do the above necessary customization
    Go into IMG > Logistics general > material master > Basic Settings > material type > Define Attributes of Material Types
    Select your material type and click Quantity/Value update.
    Hope this helps.
    Thank,
    Swamy H P

  • Service procurement for the free texts ( Multiple line items in PO)

    In the service procurement for the free texts ( Multiple line items in PO)referring to the same  Contract we are cretaing the POs
    thro ME59 ( Program RM06BB20)  an unusual error message appears as under:
    "_Material/Service group STGOP2 does not exist"_This Material group is unavailable in T023 as well.
    We checked the same issue by recreating with the exact data in the Test environment and everything works OK
    We are working on the R3 version 470...
    Any body faced such an issue ?
    Any clues pls?
    Regards,
    Nagarajan

    Hello,
    We have faced another issue of the same nature while a PO is being created using the tcode ME21N for service free text items referring a PR ( Service item has no Contract assigned but a fixed vendor)
    The error relates to SE419 ( Mat grp 'XXXX' does not exist)
    Any takers..
    We are using a custom doc type  for the PR
    Any hep /clue is appreciated
    Regards,
    Nagarajan

  • Price differece between purchase req and PO for free text purchase

    Hi there
    Has anyone found a good solution for the following problem. 
    A free text purchase requisition item is created with a value = x.  The buyer goes out to quote (not using SAP RFQ - manual) and comes back with a price change.  The buyer creates the purchase order referencing the purchase requisition, but they need to change the value to x+10. 
    The client wants to stop the purchase order been created if the value is above a certain percentage.  The standard settings in the system are for material values.  Does anyone know how to extend this to a short text item on a purchase requistion?
    Thanks
    Roz

    Hi,
    This is not possible to achieve in SAP standard functionality.
    You can do one thing, keep Price field for the PO Document type of Text Purchases as display, which will not allow user to change the price for Text POs.
    Use Release Strategy for Purchase Requisitions and keep changeability for the Release indicator as "4" and % Changeability as 10%. And ask user ro change the price in ME52N only instead of changing it in PO. If it will increase more than 10% the PR Value then system will reset the release and this PR needs to be released again.
    If it is not acceptable then you can try it with user exit "MM06E007" - Change document for requisitions upon conversion into PO

  • GR based IV to be checked for free text requirement

    Hi All,
    Is there any option that if we create shopping carts for free text requirement,GR based IV should be checked automatically in purchase order created for that shopping cart.Or will this get replicated depending on vendor master we select.Please suggest.
    Thanks.

    Hi,
    As of standard, this setting in PO would come from Vendor master only. But in case you want this to happen for all free text items, then you can use the doc change badi as suggested by Masa. You should use the po change method to pass this indicator.
    Regards,
    Sanjeev

  • How to reduce the level of free text / direct purchasing

    A common problem at all sites is how to reduce the level of free text / direct / non catalogue based purchasing. This is where users enter an account assignment and free text instead of using an existing material number.
    This is often the case because it is too "dificult" for the user to search and find the correct material number.
    How have other sites handled this?
    has anyone found a solution that if a user enters lets say "paper" into the free text box, a pop up appears with a match on possible materials with the word "paper" in the short description? This sounds like a pretty easy function to implement? Does anyone have the code?
    Cheerio

    >
    Ravi.or.raj wrote:
    > The search function you ask for is pretty much a standard functionality.
    > In ME21N , click on  "Personal Settings"    , and select the check box "int search help on"  .
    Yes this works, but you have to tell that the user has to enter the text  in the material number field, then SAP will search thru the database.

Maybe you are looking for

  • Update failed after switching to nightly channel according to the MDN (Flame)

    Good Evening Firefox OS Pro's :) I just got my new Flame, flashed the base image (http://cds.w5v8t3u9.hwcdn.net/Flame_2.0_v180_1.zip) and the rest (http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-b2g32_v2_0-flame-kk/) according to t

  • How can I have keyframes on one layer proceed while using the gotoAndStop function?

    I have a Flash presentation that allows me to pair videos with the slides using a nice piece of ActionScript. The presentation advances to the slide on the next keyfram when the viweer clicks the "next button" and the video for that keyframe (on a se

  • Elements 11 Can't Find My Catalogues

    Having successfully restored 2 catalogues from PS Elements 6 backups on an EHD, I was quite happy working in the last restored catalogue, but on trying to revert to the earlier transferred catalogue, (that I had fully viewed and verified in PS 11 aft

  • ... jerky unresponsive behavior with MOTION 3...

    ...other than reinstalling(ouch!) is there anything else after trashing preferences that might correct this problem? I've been experiencing this problem lately with the playback refusing to stop and jerky stuttering and jumping frames during playback

  • Feature idea

    I think with the work being put forth by Last.fm, Pandora and the music genome project that itunes should be able to scan my music library and make suggestions in the mini store about what i may like. If the itunes music store is a great way to disco