Questions and discussion about using ProcessMaker 2: user interface, running cases and functionality
Forum rules: Please search to see if a question has already been asked before posting. Please don't ask the same question in multiple forums.
#778754
Hi macopm,

Adding the great solution ethanthekiwi suggested. Multiple output documents can be concatenated only adding the HTML of all of them in just one which will be the final one. ProcessMaker doesn't have the option to concatenate automatically output or input documents so that's the best way to achieve this.

Regards,
By macopm
#778864
Hello, thank you all for your answers.

My goal is to concatenate all pdf that were generated during a case.
During execution of the case are generated individual pdf, and at the end of the case I would place them all in a single document.

I can not use "PMFGenerateOutputDocument" (as in the other cases) because I do not know the exactly pdf which were previously produced as there are several routes that can be taken.

I'm evaluating the solution using a trigger:
- With the "select" I find all the generated pdf;
- I now work with the code to be able to connect;


What do you think about that?

Thanks as always for your willingness

Marco
#778865
OK, if I understand correctly the final PDF would only contain information from other output documents, but depending on different variables, each case will have different output documents.

My thought is that you could create a variable of some kind that keeps track of which values have been output and use conditions to determine whether or not to output them. I'm not sure how it might work exactly, but in one of my processes I have some steps that are skipped based on variables and I didn't want those fields to display in the dynaform if they were skipped. So I created Triggers with checkpoints that when the task started it set the Task1_Checkpoint to 1. Then in the dynaform I hid the fields unless the checkpoint was equal to one. I don't know if similar things can be done in output documents, but that's the idea.
By macopm
#778872
ethanthekiwi wrote:OK, if I understand correctly the final PDF would only contain information from other output documents, but depending on different variables, each case will have different output documents.

My thought is that you could create a variable of some kind that keeps track of which values have been output and use conditions to determine whether or not to output them. I'm not sure how it might work exactly, but in one of my processes I have some steps that are skipped based on variables and I didn't want those fields to display in the dynaform if they were skipped. So I created Triggers with checkpoints that when the task started it set the Task1_Checkpoint to 1. Then in the dynaform I hid the fields unless the checkpoint was equal to one. I don't know if similar things can be done in output documents, but that's the idea.

Also I have used this solution of the condition on a variable to skip a step or not; But in my case I don't know how many pdf can be generated as if there is a cycle that could generate a lot of pdf and so I can not determine in advance how many variables include in the output document...:'(
User avatar
By vktRus
#784727
pdftk — tool for merge PDFs in to one file.
Code: Select all
$path_out = "/my_path_out";
foreach ($result as $doc_id) {
      PMFGenerateOutputDocument($doc_id);
      // Search ID generated docs
      $query = "SELECT DOC_VERSION, APP_DOC_UID FROM APP_DOCUMENT WHERE APP_UID = '$caseId' AND DOC_UID='$doc_id'";
      $result = executeQuery($query);
      if (is_array($result) and count($result) > 0) {
          if (is_array($result) and count($result) > 1) {
            $query = "SELECT MAX(DOC_VERSION) AS MAX_VERSION, APP_DOC_UID FROM APP_DOCUMENT WHERE APP_UID = '$caseId' AND DOC_UID='$doc_id'";
            $result = executeQuery($query);
          }
          $DOCEXUID = $result[1]['APP_DOC_UID'];
      } else {
          $DOCEXUID = '';
          G::SendMessageText("Not found.", "ERROR");
      }
      // Copy to $path_out
      $filePath  = PATH_DOCUMENT . G::getPathFromUID(@@APPLICATION) . PATH_SEP . 'outdocs' . PATH_SEP . $DOCEXUID . '_1.pdf';
      mkdir($path_out . PATH_SEP . 'DOCS', 0777, true);
      $filePath_to = $path_out . PATH_SEP . 'DOCS' . PATH_SEP . $dognr . '_' . $DOCEXUID . '_' . $cluid . '_1.pdf';
      copy($filePath, $filePath_to);
      $doc_out_cur = array('DOCS' => $filePath_to);
      $doc_out = array_merge_recursive($doc_out, $doc_out_cur);
}

// Merge PDFs in to one file
//$op = <input PDF files> cat output <output filename>;
foreach ($doc_out as $key => $value) {
    $filePath_to = "\"" . $path_out . PATH_SEP . $key . ".pdf\"";
  	if (count($value) > 1) {
    	$op = " \"" . implode("\" \"", $value) . "\" cat output $filePath_to";
    	exec('pdftk' . $op, $output, $return);
    }
  	else {
    	exec("cp -f \"$value\" $filePath_to", $output, $return);
  	}
}
#832737
If you want to Concatenate multiple pdf into single pdf file, I recommend using this powerful Softaken PDF Merge Software. Using this application, the process became simple and effortless. It also allows you to merge multiple PDF files into either a new PDF or an existing PDF file. The tool is available for all editions of the Windows operating system. Attachments, forms, hyperlinks, tables, fonts, colors, and other data sections are all maintained when combining pdf documents. You can download a free trial version to test its features and functionality.

visit here :- https://www.softakensoftware.com/pdf-merger.html
By Myramillan
#832740
Now in comparison to most of the other training in Dark and Darker, there surely isn't something particular to suggest for the Barbarian in terms of Armor. They're instead restrained in what they can wear average, so generally, it's simply some thing has the better armor fee.

Obviously, however, the gamers running the Savage Perk shouldn't be carrying Chest Armor in any state of affairs. And, if gamers are searching out what stat buffs are armor or gear to search for, then buffs to True Damage, Agility, Strength, or Max Health are the most useful.

All The Best Weapons For Barbarian
Again, this subsequent component is some thing that is extraordinarily dependent on every player's non-public playstyle and preferences, and it is the Barbarian's excellent weapon selections.

In trendy, the Barbarian doesn't have access to a colossal roster of weapons, but their choices are exceedingly severa. When evaluating base damage, move sets, and hitboxes for all guns, those that players appear to pick the most are the Bardiche, Felling Axe, Hatchet, Huntsman's Axe, and Zweihander. Why those guns specifically? Well:

Bardiche: The Bardiche is lots just like the default Battle Axe the Barbarian starts offevolved with, however it has an extended range, quicker standard attack speed, and a third attack in its combination as opposed to just . It's taken into consideration a Polearm and not an Axe, however, so Axe Specialists need to preserve that in mind. Felling Axe: The Felling Axe might not appear like a whole lot, but it may be an incredibly fast and effective weapon within the hands of a player who would not omit frequently.

The healing animation for a missed swing the use of the Felling Axe is painfully long. But, if the assault connects, the time among that and the next swing is shockingly fast. Horseman's Axe: This also consists of the Hatchet as nicely, but since the Horseman's Axe is just a usually better version of the Hatchet, it merits the spot more. This is virtually the Barbarian's only one-passed axe option. It's top notch in opposition to opponents with rapid attack speed and will surprise warring parties who are looking ahead to a Barbarian that has gradual and apparent windups to their regular assaults.

Zweihander: War Maul fanatics might be curious as to why the Zwei is right here rather than it, and there may be most effective one purpose, the Zwei has extra vertical swings. The War Maul is the Barbarian's heaviest hitter, however in exchange, all of its attacks are these extensive horizontal swings that not often connect and always appear to hit the hallway walls. In evaluation, the Zweihander is quicker, will hit walls less, and has a secondary assault that routinely unleashes a -hit combo. Barbarian Summary & General Tips.

And it is approximately everything players would possibly want to know approximately a Barbarian construct in Dark and Darker. The Barbarian has a piece of an initial gaining knowledge of curve, but folks that stick with it will locate themselves loving PvP moments where they turn the tides in a single big swing. As a very last concept, right here are some widespread recommendations for the magnificence that everyone playing it will likely need to know:

Do now not open, interact with, or put down something as Barbarian. Either damage it open instead or provide it to a teammate with quicker interplay pace to open or location. The Barbarian excels with a kind of 'do-or-die' playstyle of diving headfirst right into a brawl and the use of their innate fitness and electricity to out live their opponent. Dark and Darker's combat structures are awkward and take a piece of getting used to.
All servers of Dark and Darker Gold Coins on MMOexp.com.

If you're a new user of Temu, there's a special of[…]

In the dynamic world of online shopping, savvy sho[…]

Temu offers a $100 off coupon code for existing us[…]

Looking for a fantastic deal to kick off your shop[…]