Trying to write Javascript code to get word count

I copied code from an internet source and spent hours making adaptations so that my code would compile in Adobe Acrobat XI form Actions.
Nothing I can do will make the script recognize that a character is a space. I need to count spaces so that I can count words.
Finally I gave up and tried to use Replace to replace spaces with some other character that perhaps the program would recognize, but I can't get the Replace method to work either. Well, I can get it to work for the first instance of a space in the string, but not replace all spaces in the string. I have tried the "/text/g" convention and the "text,newtext,"All" convention. Do I really have to write another loop to replace the spaces individually?
It seems so odd that there aren't more simple functions in Java (I'm new to Java) - it's like programming in machine language. And every function I investigate has more than one syntax I guess depending on what version Javascript you are using - and I can't even find out which version of Javascript Acrobat Pro XI is using!
Following is my code - I will be doing something with the wordCount - this is just an initial snippet:
    var f = getField(event.target.name);
    var input = f.value;
    var wordCount = 0;
    if (input.trim.isEmpty){
        wordCount = 0;
    else {
        wordCount = 1;
    for (var i = 0; i < input.length; i++) {
        var ch = input.charAt(i);
        var str = new String("" + ch);
//        if (i+1 != input.length) && (str == " ") && (!("" + input.charAt(i+1)) = " ")){
        if (i+1 != input.length && str === " " && "" + input.charAt(i+1) !== " "){
            wordCount++;
app.alert (wordCount);

See adracadabraPDF.net and the free utilities they offer. There is a word counter by page and document.
The example from the Acrobat JS API Reference:
Example
Count the number of words in a document
var cnt=0;
for (var p = 0; p < this.numPages; p++)
cnt += getPageNumWords(p);
console.println("There are " + cnt + " words in this doc.");
The above is for the content in a PDF.
If you want to count the words in a form field, you need to determine how you want to split the field value and change certain white space characters to a given character like a space.
You can use the "split()" method to convert  a field value to an array of items based on the "split" character.
If your entry is just a line of text and does not have have any punctuation for string termination you can use
var aWords = event.value.split(" ");
console.println("Number of words: " + aWords.length;

Similar Messages

  • JSP to write javascript code

    somebody in the net say :
    " You could however have JSP write javascript code when creating
    the page that would set the javascript variables with values
    from your JSP variables. "
    how can we do that ?? can somebody show me a sample code ??

    I really hope this is my last answer to this question.
    Firstly, make clear of the relationship between client side and server side. There is no free lunch at all. Say if you don't want to make another connection to the server from the client side, all you have to do is sent whatever the client is needed to the client side at the very beginning. I believe that should be something really basic to be considered. It is just like, if you don't go out to buy something from the supermarket on your own, nor the supermarket provides any kind of delivery service to you. How can you physically get something you want to buy? This is the same in nature.
    So, your wish is definitely being denied naturally. The only way you can do is, prepare everything on the HTML code for the javascript. Otherwise, make another connection to the server from the client. Don't try to stuck on something which is definitely not possible.

  • How can i write a code to get sume of value from days.

    Hi,
    how can i write a code to get the sum of value of days(example 1 to 30).
    This is in BPS ...
    i created multi planning area and creted planning function with {keyfigure name,planning area,days}.
    now i want to read all the actual values  from basic planing area(basic cube) and calculate the sum of the value.if you have idea can you share the code.
    ENTRIES = VARC ( 'zvardays' ).     ex(zvardays like 28 days or 29 days or 30 days or 31 days)
    COUNT = ENTRIES.
    *Get the all the days value from actual
    FOREACH PAREA = 'basic planning area'.
      COUNT = 1.
    DO
         SUM = SUM + {amount, count}      (amount is a keyfirgure value)
    ENDDO.
    COUNT = COUNT+1.
       SUMACT =  SUM.
    ENDFOR.
    can you correct the above code ....to read the values and sum of the those value.
    Thanks...

    Hi ..
    That is ok..
    Can you provide sample code for my requirement..
    and also how can i pass the error message (can you help me syntax )
    and if my acutal-total  is not equal to plan-total  then
    i have to pass the error message and then  i have to restrict save the data  how i can i restrict(user can not save the data until the values should be equal) .
    Can you help me it is very urgent..
    thanks.//
    Edited by: Eyda rose on Jun 4, 2008 9:29 PM

  • How do you get word count to print at the end of a document in Pages?

    How do you get word count to print at the end of a document in Pages?

    Pages v5 does not provide a user assignable word count variable. With some AppleScript, and a paste operation from the clipboard, you can have locale punctuated word count in this format: 7,803 — anywhere in your document. The following AppleScript works with Pages '09 v4.3 through Pages v5.5.2 on Yosemite.
    I would suggest that you copy paste the following AppleScript into your [Apple] Script Editor and save it (suggestion) wordcnt.applescript. Then, follow this with an option+Save As… and this time set the File format to Script Bundle, or Application with hidden extension — saved to your Desktop. Provided you have a Pages document open, you are then a double-click from the ability to paste your current word count into Pages.
    Note: If you have Pages word count display enabled, it will automatically count your pasted value as another word which initially may deceive on true word count at the time the script was run.
    AppleScript
    --- copy below this line ---
    property locale : "en_US.UTF-8" -- In Terminal, use the locale command to see yours
    if not ApplicationIsRunning("Pages") then
         display dialog "Pages must be running to use this utility."
         return quit
    end if
    tell application "Pages"
        tell body text of front document
            set wordCnt to count words
            -- Don't want punctuated numbers? Remove the single quote from printf format
            set the clipboard to (do shell script "export LC_ALL=" & locale & "; printf \"%'d\" " & wordCnt)
        end tell
    end tell
    on ApplicationIsRunning(appName)
         tell application "System Events" to set appNameIsRunning to exists (processes where name is appName)
         return appNameIsRunning
    end ApplicationIsRunning

  • How to write javascript code in SERVLET

    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.print("<HTML><HEAD><TITLE> DATA NET</TITLE></HEAD>");
    I have to write the following javascript code ......how to do??
    -------------------------javascript code--------------------------------
    <BODY onLoad="pageload();">
    <SCRIPT>
    function pageload()
    var time;
    time="200";
    URL="Default.jsp";
    self.setTimeout("top.location.href=URL;","time");
    </SCRIPT>
    </BODY>

    you are using this:
    out.print("<HTML><HEAD><TITLE> DATA NET</TITLE></HEAD>");
    to print the header of the HTML page...
    I will ask again... what makes you think that writing Javascript or any other contents of an HTML page would be any different?

  • Problem with getting word count in TLF text

    Hi,
    I want to get the word count from my TLF text, but the problem is that I am not being able to handle th case for space.
    I am using the findNextWordBoundary property of ParagraphElement as shown below:
    private function countWords( para : ParagraphElement ) : void
                var wordBoundary:int = 0;
                var prevBoundary:int = 0;
                while ( wordBoundary != para.findNextWordBoundary( wordBoundary ) )
                   // If the value is greater than 1, then it's a word, otherwise it's a space.
                    if ( para.findNextWordBoundary( wordBoundary ) - wordBoundary > 1)
                        wordCount += 1;                   
                    prevBoundary = wordBoundary;
                    wordBoundary = para.findNextWordBoundary( wordBoundary );                   
                    // If the value is greater than 1, then it's a word, otherwise it's a space.
                    if ( wordBoundary - prevBoundary > 1 )
                        var s:String = para.getText().substring( prevBoundary, wordBoundary );
                        lenTotal += s.length;
    Now I have 2 issues here:
    If my string is for eg: Hi, I am writing in "TLF". And I want to get its word count then
    1) Suppose I take the case of the string Hi,  . Then para.getText().substring( prevBoundary, wordBoundary ) gives the text as Hi i.e without the comma. Same case for the string "TLF forums" , It treats each " as a single word and not the whole "TLF" as a single word. Why doesn't it compute till spaces, that should be the ideal case. So until we don't give a space it should count the whole thing as a word.
    2) So now the problem is I have applied a condition   if ( wordBoundary - prevBoundary > 1 ) to check if it is a space i.e. if the diff is <= 1 it is a Space. But if I use this I miss out on single words. Like for eg if I have "Hi, This is a string" ,then 'a' is ignored too.
    Now I could have added a check here along with the space check that the string between prevBoundary and wordBoundary is " "(i.e a space), Then also it is a problem as then the single words like a,&,I will be ignored.
    So, now I am stuck with this issue and need some help from you guys.
    Thanks

    findNextWordBoundary is not going to serve your purpose.  I'd propose doing something like this:
    // didn't test this but something like this - whitespace matches any set of 1 or more white space characters
    static const whiteSpaceRegExp:RegExp = /[u0020|u000A|u000D]*/
    public static function countWords( para : ParagraphElement ) : void
         return para.getText().split(whiteSpaceRegExp).length;
    A good list of everything considered whitespace extracted from the unicode space can be found here:
    http://sourceforge.net/adobe/tlf/svn/449/tree/trunk/textLayout/src/flashx/textLayout/utils /CharacterUtil.as
    In function createWhiteSpaceObject
    Hope that helps,
    Richard

  • Hi, I'm trying to write a code in Labview that will run a scara robot, Its gonna be 2 axis, one linked to a gam

    matic motor and the other to a mutshibishi motor, I already have the code for the gammatic motor, I need an other one for the mutshibishi one....guys, I come from a production management engineering backgound and I sack in programming, would anyone help methe idea behind is to see an accuracy between the data entered in term of positon, speed motion of the 2 axis of the scara robot and the data received

    Hi Mark,
    What do you mean by integrated trajectory planning functions?  Could you give an example of what you would use these functions for?  Our SoftMotion toolkit can do path planning and trajectory generation, is that what you are talking about?
    Thanks,
    Maclean G.
    Applications Engineering
    National Instruments

  • Quick Question About Javascript Code

    I'm trying to write some code in JavaScript so that a different image will display every time someone loads my homepage. I have come across a section called
    'imgct' what does "ct" stand for?
    Please excuse the stupid question but this is my first time!
    If anyone could point me in the right direction of how to do this aswell I would be extremely grateful!
    Thanks
    Kyra

    I'm so sorry about this, it just doesn't seem to be working, I did what you suggested but it still doesn't show up in my browser. :S
    The is the code view of my page now:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    <link href="Style_sheet.css" rel="stylesheet" type="text/css" />
    <script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
    <link href="SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript">
    homeImg = newArray(
    "Images/Homepage/Image1.jpg",
    "Images/Homepage/Image2.jpg",
    "Images/Homepage/Image3.jpg",
    "Images/Homepage/Image4.jpg",
    "Images/Homepage/Image5.jpg"
    ImgCt=homeImg.length;
    function swapImg() {
        if (document.images) {
            randomNum=Math.floor((Mathrandom()*ImgCt));
            document.images ["homePicture"].src = homeImg[randomNum];
    window.onload = swapImg()
    </script>
    </head> 
    <body>
    <div class="container">
      <div class="header">
    *//There is a spry menu bar that goes here//*
        <!-- end .header --></div>
      <div class="content">
      <img src="" name="homePicture" width="627" height="250" id="homePicture" /> </div>
      <noscript><img src="Images/Homepage/Image2.jpg"/></noscript>
    As you can see I have also tried to add in a 'noscript' tag incase someone doesn't have javascript enabled etc. although when I preview it in IE I see both 'Image2' and the image placholder where teh random image is meant to appear, but doesn't.
    I'm very grateful for all the help you are giving me!
    Thank you
    Kyra

  • How to write javascript in java class method

    Hi,
    any one please resolved this,
    i want to write javascript window closing code into java class method, in that method i want to write javascript code & wanted to call in jsf page on commandButton action event,
    my code is below but it is not working properly
    public void closeWindowClicked(ActionEvent event) {
              try
         FacesContext facesContext = FacesContext.getCurrentInstance();
         String javaScriptText = "window.close();";
         // Add the Javascript to the rendered page's header for immediate execution
         AddResource addResource = AddResourceFactory.getInstance(facesContext);
         addResource.addInlineScriptAtPosition(facesContext, AddResource.HEADER_BEGIN, javaScriptText);
    catch(Exception e)
         System.out.println(""+e);
    for calling into jsf code is below
    <h:commandButton action="#{parentBean.closeWindowClicked}" value="OK" />
    /*Note- i want to closed the window by caling method contain javascript only, i don't want any ajax code in method */
    please any one can resolved this.
    Thanks

    /*Note- i want to closed the window by caling method contain javascript only, i
    don't want any ajax code in method */ When the user presses your button, do your business logic and then send them to a page containing the following (note: untested code ahead):
    <html>
    <head>
        function onLoadHandler()
            window.close();
    </head>
    <body onload="onLoadHandler();">
        <p>Window closing....</p>
    </body>
    </html>

  • I am trying to write a heartbeat program which takes the current time and writes

    I am trying to write a VI that gets the current time and writes it to an XML file in this format.  YYYY-MM-DDThh:mm:ss[.s][Z|(+|-)hh:mm]
    I cant seem to get the operators on the format date/time string vi to work for concatenating the "-" between the year and month
    Anybody know how to do this one?

    You should not need to use special operaors for the format date/time string, the format should simply be"%Y-%m-%d"

  • How can I get a count of objects in the near cache? (Extend client)

    Hi,
    I'm trying to figure out how to get the count of objects in my near cache (from c++ client). Knowing the size of the near cache is a key factor when optimizing configurations for performance.
    However if I call size() on the cache handle I get the count of objects in the cache (ie the cluster). How can I get a count of objects in the near cache?
    Thanks
    Rich Carless

    H Rich,
    It may not be ideal, but I think you may be able to infer the size by using the HeapAnalyzer (http://download.oracle.com/docs/cd/E15357_01/coh.360/e15728/classcoherence_1_1lang_1_1_heap_analyzer.html) facility, specifically the "class" based HeapAnalyzer. Its Snapshot representation http://download.oracle.com/docs/cd/E15357_01/coh.360/e15728/classcoherence_1_1lang_1_1_class_based_heap_analyzer_1_1_snapshot.html provides a mapping between class name and ClassStats (http://download.oracle.com/docs/cd/E15357_01/coh.360/e15728/classcoherence_1_1lang_1_1_class_based_heap_analyzer_1_1_class_stats.html) which provides information on how many instances of a given class type are in memory. Note the reported counts are process wide but if your key or value type are distinct you may be able to infer your answer. I realize this is rather complex, my only other suggestion would be to just make some guesses on size and see how they effect performance.
    Mark
    Oracle Coherence

  • Why am I getting message working in Word that says the disc is full trying to write to Macintosh HD when I have hundreds of GB available?

    I am getting frequent messasges saying "the disk is full trying to write to Macintosk HD. Free some space on this drive or dave the document on another disk, etc.  I have at least 300GB of unused space on Macintosh HD. This is followed by another message that Word is unable to save the AutoRecover file in the location you have specifed. and to check prefernces. I am saving to my desktop.

    Thank you! It was a small war to find out even how to post a question, so I guess in the moment I overlooked the fact that I posted to the wrong forum . But the problem have been solved by a friend who experienced the same problem. It seemed that there was one Microsoft Equation (out of the many in the document) that was malfunctioning. So by deleeting excactly the right equation, the problem was solved.
    Hope that helps someone later on.
    Best regards
    Jules

  • Trying to write code for clicking on the links that are in HTML table

    Hi,
    I have an application, where in I created a table test for one HTML table. The table test case is passed. Now I am trying to write some VBA code for clicking on the links that are in the table.
    Please help me.
    I was trying to write the following code:
    Dim tbl As HTMLTable
    ' tbl = "window(index=0).Tag[TABLE](index=11)"
    Dim tblrow As HTMLTableRow
    For Each tblrow In tbl
    tblrow.click
    Next
    but getting error as runtime error 424: Object required.
    Is what I am doing is correct.
    I also have another question regarding assigning the no of links to a integer.
    Call RSWApp.WriteToLog("Number of links", objDocument.links.Length) ( i have this code from one of the forum entries).
    This writes the links to the Results log. but is there a way to assign this value to an integer.
    Thanks in advance.
    Sailaja.

    Hi,
    Thanks.
    Q1: I am able to copy all the links to a .csv file for databank. But not able to pass that variable through VBA code in order to click the links.
    I used the following code to copy the links from the application to .csv file
    Dim myFs As Scripting.FileSystemObject
    Dim myFile As Scripting.TextStream
    Set myFs = New Scripting.FileSystemObject
    Set myFile = myFs.OpenTextFile("C:\Empirix\eTEST\DataBank\linksData.csv", ForWriting)
    Q2: I was using the following code for clicking. ( This is different from above. I was trying other alternative without using databank.)
    Dim myDoc As HTMLDocument
    Dim myLink As HTMLAnchorElement
    Set myDoc = RSWApp.om.GetTopDocument
    For Each myLink In myDoc.links
    If myLink.Id = "AppsNavLink" Then
    myLink.click
    End If
    Next
    The problem here is, The "clicking" is happening but not visible in the application. I have 70 links to click, after the test is passed, the cursor is pointing to the last link ( 70th link).
    Please help me if I am doing wrong.
    Thanks,
    Sailaja.

  • How do I write a javascript code to open InDesign File, import Doc, save and export to pdf?

    How do I write a javascript code to open InDesign File, import Doc, save and export to pdf?

    Hi hasvi,
    Need Template(.indt), textframes etc for the following script:
    var myFolderInd = Folder.selectDialog();
    var myFile = myFolderInd.getFiles("*indt");
    app.open(myFile)
    var myDoc = app.activeDocument;
    var myDocName = myDoc.name;
    var mySaveFile = app.activeDocument.save(myFolderInd.fsName + "/" + myDocName.split(".indt").join(".indd"));
    var myFolderDoc = Folder.selectDialog();
    var myFile1 = myFolderDoc.getFiles("*doc");
    mySaveFile.pages[0].textFrames[0].place(File(myFile1))
    //~ mySaveFile.place(File(myFile1))
    app.activeDocument.textPreferences.smartTextReflow = true;
    var myPDFFile = new File(mySaveFile.filePath + "/" + mySaveFile.name.split(".indd").join(".pdf"))
    myDoc.exportFile(ExportFormat.PDF_TYPE, File("~/Desktop/abc.pdf"));
    alert("Process Completed")
    Regards
    Siraj

  • I previously downloaded the AI 30 day trial but was able to use it before the trial ran out I've since deleted it from my laptop (Windows 7 64 bit OS) How do I get it back? Trying to download AI again and getting error code 3 some thing to do with adminis

    I previously downloaded the AI 30 day trial but was able to use it before the trial ran out I've since deleted it from my laptop (Windows 7 64 bit OS) How do I get it back? Trying to download AI again and getting error code 3 some thing to do with administration permissions?

    If your intention is to use the trial again it will not reset if you reinstall.  It will remain in its ran out state.

Maybe you are looking for

  • Account Assignment Error When Posting GI Against Sales Order

    Hello SAP Experts, We are currently experiencing a problem during goods issueance against sales order (VL02N). The system terminates the issueance and gives error: "Account XXXXXX requires an assignment to a CO object". We have tried maintaining the

  • How does a Windows 8.1 tablet (not Windows RT) sleep?

    I have been using Android and iOS devices. I really have not cared how they sleep, because it is transparent. That is, I as the user, do not need to care about whether it is on or sleep, because if I play a music or connect to a messenger, they keep

  • The requested URL /apex/listenerConfigure was not found on this server

    please help me.. after run in command prompt (java -jar c:\apex.war) to install apex listener, i have error when i call link http://localhost:8080/apex/listenerConfigure. In browser show : Not found The requested URL /apex/listenerConfigure was not f

  • Rough Playback while importing or using CD drive

    I've been very busy importing my CD collection to iTunes lately. After every 5 CDs or so, something happens to my CD drive that affects CD, DVD, and regular play anytime the drive is running. It's rough and scratchy. After using system restore, the p

  • Opening images in smaller window

    Can someone help a novice with a code or instructions that will open an image in a smaller (pop-up like) window? I want the viewer to click on a thumbnail, for example, and have an associated larger image open in a seperate pop-up box that is only th