New post

Pesquisar

Question
· Feb 11

Intersystems Reports (Logi Reports) - Does it merge multiple PDFs?

We currently use a combination of Ghostscript and ImageMagick to accomplish our PDF requirements.  These products are ceating memory/cpu issues when merging large PDFS.  I am trying to find out if Intersystems Reports can handle our requirements (see below).

 

   

Magick 7.0.10 - Ghostscript 9.53.2
Magick 7.0.10 - Ghostscript 10.04
Does Not Work

Function

Image manipulation

Required Software

Create/print Requisition

PDFToPCL

Ghostscript + ImageMagick using convert command

Create/print Requisition

PDFToPCL

Ghostscript + ImageMagick using convert command

ConvertImgToPDF

 

Ghostscript + ImageMagick using convert command

ConvertPDFToPNG

 

Ghostscript

ConvertPDFToText

 

Ghostscript

MergePDFS

 

Ghostscript

PDFToPCL

 

Ghostscript + ImageMagick using convert command

PrintABN

s cmd="i:\pdfPrintX\PDFtoPrinter

PDFtoPrinter software locally installed

PrintPDFToDevice

PDFToPCL

Ghostscript + ImageMagick using convert command

CreatePDF

 

%Zen.Report

GetAllEncompassingPDF

CreatePDF + MergePDFS if they exist

Ghostscript during the merge

ABNPRINTNEW

PrintPDFToDevice (PCL)

Ghostscript + ImageMagick using convert command

PrintABNToScreen

ConvertPDFToText

Ghostscript

PRINTPDF

PDFToPCL

create txt file and then pdf to get embedded barcode

 

PDFTOPCL

Ghostscript + ImageMagick using convert command

 

PrintPDFToDevice

Ghostscript + ImageMagick using convert command

 

ConvertPDFToText if wanting to print to screen

GhostScript

PRINTPDFS

PDFToPCL

Ghostscript + ImageMagick using convert command

 

Does anyone have experience with Intersystems Reports and if so, can you give me some insights as to the functionality as a replacement for Ghostscript and ImageMagick for above functionality?

Thank you in advance for any help on this.

2 Comments
Discussion (2)2
Log in or sign up to continue
Question
· Feb 11

VS CODE Search Options

Hi All,

In my DB, it has more than 10,000 files. I tried to search for a particular file (mac), but there is no search option to find it. Can you help me find that option to search for a file?

2 Comments
Discussion (2)2
Log in or sign up to continue
Article
· Feb 11 3m read

Uma visão sobre Dynamic SQL e Embededd SQL

 

 

Ao contrário do filme, citado através da imagem (para quem não conhece, Matrix, 1999), a escolha entre Dynamic SQL e Embededd SQL, não é uma escolha entre a verdade e a fantasia, mas, mesmo assim é uma decisão a ser tomada. Abaixo, tentarei facilitar a escolha de vocês.

Caso sua necessidade seja interações entre o cliente e a aplicação (consequentemente o banco de dados), o Dynamic SQL pode ser mais apropriado, pois “molda-se” muito facilmente com estas alterações de consultas. Entretanto, este dinamismo tem um custo, a cada consulta nova, ela é remodelada, podendo ter um custo maior para a execução. Abaixo um exemplo simples de um trecho de código Python.

Exemplo de SQL Dynamic

Apenas com base na informação acima, o Embededd SQL é a melhor escolha? Depende. Pensando única e exclusivamente em agilidade na execução, poderíamos partir para esta escolha. Uma vez que as instruções SQL são inseridas diretamente no código de programação, utilizando-se de variáveis HOST para entrada e saída de dados. O objetivo também não é ensinar como utilizar uma ou outra opção, e sim abrir a mente para possibilidade, conhecendo um pouco sobre cada um.

Abaixo, temos algumas características relevantes e que devem ser levadas em consideração quando iniciar um desenvolvimento que exija uma consulta SQL:

 Como já mencionado, o Embededd SQL é várias lembrado pelo seu desempenho, mas, isto não é uma corrida e nem só de velocidade se vive. Sua integração com diversas linguagens de alto nível, fazem com que os desenvolvedores possam utilizar os recursos de melhor forma, isto dá-se devido ao fato de não precisarem de tantas buscas em arquivos externos ou scripts separados, tornando o código mais limpo e sustentável.

É notado também pela sua consistência, afinal, alterações no banco de dados podem ser espelhadas no código SQL, evitando assim possíveis inconsistências nos dados. E por final, porém não menos importante, o fato das consultas estarem dentro do código, torna-o mais seguro, pois podem ser implementados controles de acesso diretamente no aplicativo, evitando assim acessos não autorizados e consultas indevidas.

Bom, agora podemos ver o que sustenta o Dynamic SQL. Este dinamismo é facilmente notado em sua flexibilidade, isto é, tudo é moldado enquanto está acontecendo, consultas, condições e até nomes de tabelas ou campos, beneficiando assim o cliente, o usuário. É marcado também pela facilidade de administração, uma vez que os DBAs conseguem realizar manutenções nos dados e bancos, conferindo em tempo real o impacto causado, evitando assim maiores problemas de compilação.

O resumo de toda esta informação, com mais teoria e pouca “prática” é que não há um lado certo ou um lado errado, até mesmo um vilão ou um mocinho, o fato é que o conhecimento sobre o que será desenvolvido, uma análise profunda das necessidades, levará a uma escolha...

De qual lado da força você estará?

2 Comments
Discussion (2)3
Log in or sign up to continue
Article
· Feb 11 2m read

A look at Dynamic SQL and Embedded SQL

   

 

 

Unlike the movie mentioned in the image (for those who don't know, Matrix, 1999), the choice between Dynamic SQL and Embedded SQL is not a choice between truth and fantasy, but it is still a decision to be made. Below, I will try to make your choice easier. 

If your need is interactions between the client and the application (and consequently the database), Dynamic SQL may be more appropriate, as it "adapts" very easily to these query changes. However, this dynamism has a cost: with each new query, it is remodeled, which can have a higher cost to execute. Below is a simple example of a Python code snippet. 

Example of Dynamic SQL 

Based solely on the information above, is Embedded SQL the best choice? It depends. Thinking solely and exclusively about agility in execution, we could go for this choice. Since the SQL instructions are inserted directly into the programming code, using HOST variables for data input and output. The goal is not to teach how to use one or another option, but rather to open your mind to the possibilities, learning a little about each one. 

Below, we have some relevant features that should be taken into consideration when starting a development that requires an SQL query: 

As already mentioned, Embedded SQL is often remembered for its performance, but this is not a race and speed is not the only thing we live for. Its integration with several high-level languages ​​allows developers to use the resources in a better way, this is due to the fact that they do not need to search as many external files or separate scripts, making the code cleaner and more maintainable. 

It is also noted for its consistency, after all, changes to the database can be mirrored in the SQL code, thus avoiding possible inconsistencies in the data. And last but not least, the fact that the queries are within the code makes it more secure, since access controls can be implemented directly in the application, thus avoiding unauthorized access and inappropriate queries. 

Well, now we can see what supports Dynamic SQL. This dynamism is easily noticed in its flexibility, that is, everything is shaped as it happens, queries, conditions and even table or field names, thus benefiting the client, the user. It is also marked by ease of administration, since DBAs can perform maintenance on data and databases, checking the impact caused in real time, thus avoiding major compilation problems. 

The summary of all this information, with more theory and little “practice” is that there is no right or wrong side, not even a villain or a good guy, the fact is that knowledge about what will be developed, an in-depth analysis of needs, will lead to a choice... 

Which side of the force will you be on?

 
 
16 Comments
Discussion (16)6
Log in or sign up to continue
Discussion (2)3
Log in or sign up to continue